Mongo db在嵌入多个文件中从参考文件id中找到文件?

时间:2015-04-17 10:08:19

标签: mongodb mongodb-query

我想找到文件jobs.transcoder._id

我试过了

{jobs.transcoder._id: ObjectId("552554e4d672487c358b459c")}

{ jobs: { $elemMatch: { "transcoder._id": ObjectId("552554e4d672487c358b459c") } } }

但不结果

我的文件在这里

{ 
    "_id" : ObjectId("55256f53d67248493f8b4660"),
    "jobs" : [
        {
            "_id" : ObjectId("55256f96d6724899408b459e"), 
            "transcoder" : DBRef("transcoder", ObjectId("552554e4d672487c358b459c"), "api")
        }
    ]
}

我可以查询吗? 我应该使用transcoderId而不是代码转换器引用

1 个答案:

答案 0 :(得分:1)

要按文档_id查找,请运行;

{"_id":ObjectId("55256f53d67248493f8b4660")}

如果您想通过jobs._id找到,请运行;

{"jobs._id":ObjectId("55256f96d6724899408b459e")}

我认为DBRefthis的行为相同,并在查找时返回dbref。如果是这种情况,你可以运行;

{"jobs.transcoder.$id": ObjectId("552554e4d672487c358b459c")}