Я пытаюсь получить массив неоплаченных заказов. Поддокумент заказа имеет свойство isPaid
, которое определяет, был ли уплачен заказ.Mongoose - Как запросить поддокумент по значению свойства
На мой взгляд, я хочу отображать только заказы, которые не были оплачены.
Вот моя схема:
var order = new Schema({
content: [{
product: {type: String, required: true},
quantity: {type: Number},
vatRate: {type: Number, required: true},
price: {type: Number}
}],
isPaid: {type: Boolean, default: false},
number: {type: Number}
});
var clientSchema = new Schema({
[...]
information: {
code: {type: String, required: true},
name: {type: String, required: true}
},
orders: [order],
[...]
});
Я начал с, но без успеха
clientModel.find(
{
"information.code": clientCode,
"orders.isPaid": false
}, function (err, client) { ... });
Затем я сделал много попыток, с $all
, $elemMatch
без успеха. В большинстве случаев он возвращает все заказы, оплачиваемые или неоплаченные. Я не знаю почему. Мне нужна помощь, пожалуйста :)
Большое спасибо !!! Он работает как шарм и благодарит за объяснение. – Pat