我在schema中有以下数组字段:
const receiptSchema = mongoose.Schema(
{
...
items: [
{
product: { type: mongoose.Schema.ObjectId, ref: 'Product' },
amount: { type: Number, default: 0 },
price: { type: Number },
unit: { type: mongoose.Schema.ObjectId, ref: 'Unit' },
withdrawn: { type: Number, default: 0 },
},
],
...
})
字符串
我正在做一个聚合管道,需要添加一个步骤来获取所有文档,这些文档具有特定的产品,单位以及提取<金额。
我可以根据前两个条件,产品和单位,获得文档,代码如下:
pipeline.push({
$match: {
items: {
$elemMatch: {
product: mongoose.Types.ObjectId(product),
unit: mongoose.Types.ObjectId(unit),
},
},
},
})
型
但是我还没有找到一种方法来将withdrawn < amount的条件包含到查询中。
如果有人能帮助我解决这个问题,请。
先谢谢你。
1条答案
按热度按时间kqqjbcuj1#
如果有人有同样的问题,我通过与chatGPT交谈找到了解决方案
字符串