如何在Mongo中使用另一个集合的user_id查询一个集合的最大时间戳

时间:2019-05-27 12:31:55

标签: python mongodb pymongo anytree

我有一个具有两个集合的mongo数据库。一种是在json对象中发送推文,另一种是使用对话树。

这些树只有用户ID和推特ID。所以我想使用tree集合从tweet集合的树的某个分支中获取最后一个tweet的文本,最高时间戳ms。稍后,我想对其进行情感分析。

我正在使用python / pymongo,vader和mongodb。

我的代码现在遍历所有树,并将每个分支的tweet_id放入“ listt”。然后,我希望它使用该列表并选择具有最高timestamp_ms的鸣叫。但是,timestamp_ms在另一个名为“ collection”的集合中,并且timestamp_ms是一个字符串。我想对其进行查询,以便仅获得最高的timestamp_ms tweet对象,并将其附加到列表中以获取所有最高的timestamp_ms tweet对象。

def sentiment_(trees, vader=True, ignore_id=-1):
    tree_count = len(trees)
    total_count = tree_count

    for i, tree in enumerate(trees):
        analysis_root2 = perform_sentiment(use_vader, sentence=collection.find_one({"id": tree.root.id})['text'])
        listt = []
        for node in tree.descendants:
            if node.is_leaf:
                listt.append(node.id)
        print(listt)
        for x in range(len(listt)):
            test2 = collection.find_one({"id": listt[i], "user.id": tree.user_id}).sort("timestamp_ms", -1)

尝试了多个查询,但都给出了错误。

0 个答案:

没有答案