mongodb - $lookup(聚合) 使用 pymongo

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

但是我没有得到想要的输出。数组 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/

相关文章:

bash - 用于创建 Db 和集合的 Mongo bash 脚本

javascript - Meteor:从 MongoCollection.find() 遍历光标并打印字段

mongodb - MongoDB 的 fsync 是做什么用的?

javascript - Mongoose ,nodejs,全文搜索

python - Pymongo 的 update_one() 返回带有 AttributeError 的 UpdateResult

python - MongoDB:找到数组中的最小元素并将其删除

python - MongoDB 查找每个用户的最后一次提交

node.js - 如何使用 Mongoose 进行分页

python - Gunicorn+flask+pymongo+gevent 初始化挂起

python - 安装成功后CircleCI python模块导入报错