【发布时间】:2020-07-24 03:30:08
【问题描述】:
考虑以下集合,其中父文档有一个 amount 字段,其值为 100000,并且有一个嵌入的文档数组,其具有相同的字段 amount 和相同的值。
{
"_id" : ObjectId("5975ce5f05563b6303924914"),
"amount" : 100000,
"offers" : [
{
"amount": 100000
}
]
}
是否有任何方法可以匹配所有具有至少一个嵌入文档offer 的对象与父对象的数量相同?
如果我例如查询这个,它工作得很好:
find({ offers: { $elemMatch: { loan_amount: 100000 } } })
但我不知道实际值 100000 在我尝试组装的实际查询中,我需要为父文档金额字段使用一个变量。像这样。
find({ offers: { $elemMatch: { loan_amount: "parent.loan_amount" } } })
感谢您的任何建议。我希望使用$eq 或$elemMatch 来执行此操作,并避免聚合,但也许这是不可能的。
谢谢!
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework