MongoDB $ expr сравнить поле в массиве - PullRequest
1 голос
/ 24 февраля 2020
{
name: 'product A',
min_price: 5,
max_price: 15,
stores: [
 {name: 'A', price: 6},
 {name: 'B', price: 4}
]
},
{
name: 'product B',
min_price: 9,
max_price: 14,
stores: [
 {name: 'C', price: 12},
 {name: 'B', price: 10}
]
}

Как я могу найти товар по цене магазина $ lt min_price? Я пытался:

{$expr: { $lt: [ "$min_price", "$stores.price"] }}

Кажется, я делаю это неправильно!

1 Ответ

1 голос
/ 24 февраля 2020

Вы близки, вам просто нужно добавить $ min в пакет:

{$expr: { $lt: [ "$min_price", {$min: "$stores.price"} ] }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...