我有一个集合“产品”,其中包含如下文档:
{"_id" : 142347106,"name" : "product 1"}
{"_id" : 135377126,"name" : "product 2"}
我还有另一个系列“价格”:
{
"_id" : ObjectId("59310a6bad6e99863c2a6860"),
"region" : 1111,
"price" : 7.6,
"id_start" : 174683814,
"id_end" : 174686813,
"qte" : 3000
}
可以通过“id_start”和“id_end”之间的产品_id找到产品的价格。
因此,如果我想了解所有产品的价格,我可以执行以下查询:
db.getCollection("product").find({}).forEach( function(myProduct) {
db.getCollection("price").findOne({$and: [ { "id_start":{$lt: parseInt(myProduct._id) } }, {"id_end":{$gt: parseInt(myProduct._id)}}]})
});
这是有效的,但我的问题是我有很多文档,当我运行查询时,它总是以“errmsg”结尾:“找不到光标,光标 ID:...
所以我想找到另一种查询方式,例如使用聚合框架。
你有想法吗?
我可以将两个集合合并为一个集合,但我不太喜欢这种方式:-/
非常感谢 !
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)