以下是我的两个合集:
db.try1.insert([
{id: 123, product:"earphones", ref:"asdf"},
{id: 321, product:"speaks", ref:"zxcv"}
])
db.try2.insert([
{rf:"zxcv", Owner:"Jeff"},
{rf:"asdf", Owner:"John"}
])
我使用了下面的聚合语句
cursor_3=db.try1.aggregate([{
"$lookup":{
"from":"try2",
"localField":"ref",
"foreignField":"rf",
"as":"rightstuff"
}
}])
但是我没有得到想要的输出。数组 rightstuff 保持空白。 我正在使用 Mongodb 3.2 和 pymongo 驱动程序。
已修复。
最佳答案
如果它是一个 pymongo 代码,你应该像这样用引号括起字段的名称:
db.try1.insert([
{'id': 123, 'product':"earphones", 'ref':"asdf"},
{'id': 321, 'product':"speaks", 'ref':"zxcv"}
])
db.try2.insert([
{'rf':"zxcv", 'Owner':"Jeff"},
{'rf':"asdf", 'Owner':"John"}
])
您的聚合查询代码是正确的。
关于mongodb - $lookup(聚合) 使用 pymongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37807469/