我有document
名为Mapping
,其中有一个_id
和一组名为Mappings的对象。
我有另一个名为collection
的{{1}}。对于NewMappings
中的每个_id
,我需要在NewMappings
数组中搜索并返回Mappings (of Mapping collection)
的{{1}}。
我写了这样的东西,但它没有返回任何东西。
_id
但是,此查询返回值
Mapping
我错过了什么吗? 请帮我。我在黑暗中。提前致谢。
答案 0 :(得分:0)
一种方法,如果你只是想看到结果是:
var d=db.NewMappings.find();
d.forEach(function(item){
db.matching.find({Mappings: {$elemMatch : {TargetId: item._id}}}).forEach(printjson)
})
您还可以使用aggregation framework
答案 1 :(得分:0)
听起来你正在尝试进行加入,这在MongoDB中并未明确支持。您需要使用一些聚合函数来展平数据或mapreduce。
以下是使用mapreduce重构信息的示例: http://cookbook.mongodb.org/patterns/pivot/