猫鼬:按计算字段查找



我有一个这样的模式:

const facturacionSchema = mongoose.Schema({
PrecioCantidad: Number,
Cantidad: Number,
Total: {
type: Number,
get: function() {
return this.PrecioCantidad * this.Cantidad
}
}
});
module.exports = mongoose.model('Facturacion', facturacionSchema);

我想通过"Total"来查找文档,比如:

Facturacion.find({ Total: 1000 });

"Total"字段不在数据库文档中,是计算字段。如果我必须这样做,我不介意:

Facturacion.find({ PrecioCantidad * Cantidad: 1000 });

但是我不知道如何根据两个字段的计算找到

谢谢。

首先,我不认为你可以访问getter中的其他字段(纠正我,如果我错了)

然后,查找带有(precocantidad * Cantidad)的文档如下(当然,这只是一个变通方法,有很多方法)

Facturacion.find({ $expr: { $eq: [ { $multiply: ["$PrecioCantidad", "$Cantidad"]} ], 1000}})

获取getter中的其他字段,使用virtual

最新更新