收藏A格式:
{_id:'123123435', order_id:'128390183', number:10}
收集B格式:
{_id:'1979798', 'order_id':'128390183', remind_number:5}
如果我知道B的一个文档,例如b_doc
,现在我可以获得相应的B.document
?
mongo(javascript语法):
a_doc = db.A.findOne({order_id: b_doc.order_id})
但是现在,我遇到了一个棘手的问题:我想编写一个可以获得以下效果的查询命令:
db.A.find({remind_numer:{$gt: corresponding.b_doc.number} })
答案 0 :(得分:1)
以下可以是aggregation
的一个解决方案,通过orderA
加入orderB
和$lookup
以及相同的order_id,并将相关的orderB
文档放入{{ 1}}字段。然后通过order
解构此数组字段order
,比较$unwind
阶段中的remind_number
和number
。然后通过大于$project
$match
的{{1}}过滤上面的比较结果。
remind_number