使用pymongo进行$ lookup(聚合)

时间:2016-06-14 09:02:29

标签: mongodb 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"}])

我使用了以下聚合语句

cursor_3=db.try1.aggregate([{"$lookup":{"from":"try2",
         "localField":"ref",
         "foreignField":"rf",
         "as":"rightstuff"}}])

然而,我没有得到所需的输出。阵列权利保持空白。 我使用的是Mongodb 3.2和pymongo驱动程序。

修正了它。

1 个答案:

答案 0 :(得分:1)

如果它是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"}
])

您的汇总查询代码正确。