【发布时间】:2020-01-19 15:29:37
【问题描述】:
我已将值存储在多个变量中。下面是输入变量。
uid = Objectid("5d518caed55bc00001d235c1")
disuid = ['5d76b2c847c8d3000184a090', '5d7abb7a97a90b0001326010']
这些值是动态更改的。以下是我的代码:
user_posts.aggregate([{
"$match": {
"$or": [{ "userid": uid }, {
"userid": {
"$eq":
disuid
}
}]
}
},
{
"$lookup": {
"from": "user_profile",
"localField": "userid",
"foreignField": "_id",
"as": "details"
}
},
{ "$unwind": "$details" },
{
"$sort": { "created_ts": -1 }
},
{
"$project": {
"userid": 1,
"type": 1,
"location": 1,
"caption": 1
}
}
])
在上面的代码中,我只获得了匹配的 uid 值,但我还需要匹配到 disuid 的文档。
在 userid 字段中,我们仅存储了“Objectid”值。 所以我关心的是如何将“Objectid”添加到“disuid”变量以及如何使用 userid 字段为这两个变量编写匹配条件?
【问题讨论】:
标签: python mongodb aggregation-framework pymongo