在MongoDB中没有正确循环

时间:2015-06-16 15:56:44

标签: javascript mongodb

我有以下问题我试图在Mongo中运行:

var raw = db.SO.distinct("capabilities.cid");
var len = raw.length;

for (x=0; x<len; x++) 
{
    db.test.aggregate({$match: {"cid" : raw[x]}})
};

原始变量会返回一个能力ID列表,如下所示:

{
    "0" : "CID0001",
    "1" : "CID0002",
    "2" : "CID0003",
    "3" : "CID0004",
    "4" : "CID0005",
    "5" : "CID0006",
    "6" : "CID0007"
}

然后我的循环遍历列表并将每个CID与包含该另一个名为test的集合中的CID的每个文档相匹配。我遇到的问题是,当我运行此查询时,它只会让我回到最后一个查询。所以它似乎在列表上运行循环。使用last完成,然后从最后一项运行查询。如果我在raw[x]内指定索引,那么类似raw[3]的内容就会将我带回原始列表中位置3的CID的测试中的CID文档。所以说,有一种方法可以让我遍历整个列表并在每个CID上执行查询,而不仅仅是最后一个。

0 个答案:

没有答案