我在pymongo服务器中的文档聊天模型如下。我需要查找与特定ObjectID
相关的聊天文档。这意味着具有sender
或reciever
特定ObjectID
的聊天。
{
"_id" : ObjectID,
"sender": ObjectID,
"reciever": ObjectID,
"created": Date
}
我在subresult
指令中的最终输出$addToset
应该是这些唯一ObjectIDs
的列表。我使用下面的聚合来获得结果。但这不起作用。
sub_query = [
{"$match": {"$or": [{"sender": ObjectId(user_id)}, {"reciever": ObjectId(user_id)}]}},
{"$group": {"_id": null, "subresult": {"$addToSet": "$sender", "reciever"}}}]
collection.aggregate(sub_query)
如果对结果进行排序将更好。 created
字段DESCENDING
。