Я пытаюсь найти один продукт, идентификатор которого соответствует данному идентификатору, а также хочу узнать, будет ли его количество все еще больше или равно проданному количеству (после добавления проданного количества, которое будет продано позже в процессе).
const product = await Product.findOne(
{
$expr: {
$and: [
{ _id: id },
{ $gte: ["$quantity", { $sum: ["$soldQuantity", quantity] }] }
]
}
}
);
(здесь количество - это константа, значение которой равно 2 и id - это ObjectId ), что я До сих пор достигнуто, если я превращаю $ gte в $ lte , я получаю правильный результат , но $ gte возвращает мне ложный результат , который должен вместо этого верните пустой объект , если условия не выполнялись. Я использую mongoDB версия 4.2
Схема имеет:
Schema({
quantity: {
type: Number,
required: true
},
soldQuantity: {
type: Number,
default: 0
}
})