我有一个这样的模式:
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