我有一个具有两个集合的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)
尝试了多个查询,但都给出了错误。