MongoDB中嵌入式文档的$ lookup:值的顺序是否重要?

时间:2018-04-12 21:18:01

标签: mongodb

我在同一个数据库中有两个类似的集合,我试图使用$ lookup和聚合管道进行合并。它们用作匹配字段的_ids包含相同的值,但顺序不同:

Collection1:

{ "_id" : { "State" : "Vermont", "Race" : "Black American or African American" }, "Population" : 6456 }

Collection2:

{ "_id" : { "Race" : "Multiracial", "State" : "Arkansas" }, "Population" : 48996 }

我尝试按如下方式运行聚合管道:

db.Collection1.aggregate([{$lookup: {from: "Collection2", localField: "_id", foreignField: "_id", as: "Population"}}])

然而,当我这样做时,我得到:

{ "_id" : { "Race" : "Multiracial", "State" : "Arkansas" }, "Population" : [ ] }

我想获得数组中填充的值。我是MongoDB的新手。我对aggregate命令的语法有问题,还是因为'Race'和'State'在嵌入式文档_id中以不同的顺序列出而失败?值的顺序是否对嵌入文档的匹配很重要?

非常感谢你的时间,我感谢任何建议。

0 个答案:

没有答案