@qertis

Mongodb: как составить запрос на выборку проверяя внутреннее свойства модели через ObjectID?

База продуктов (db.products) содержит model в ObjectId
```
[{
"_id" : ObjectId("1a736ab23b084b1bb18f5d41"),
"model" : ObjectId("1a736ab13b084b1bb18f5d31")
},
{
...
}
]
```
Зарезолвленная model выглядит похожим образом
{
"_id" : ObjectId("1a736ab13b084b1bb18f5d31"),
"value": 42
}

Как правильно написать запрос чтобы вывести все products с model value > 50?
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
db.products.aggregate([
        {"$match":  {"$modelData.value": {"$gt": 50}} },
        {$lookup: {from: "model",localField: "model",foreignField: "_id",as: "modelData"}}
        // , {"$exists": "$modelData"} возможно нужно будет указать 
]);


Это все в теории может заработать
https://docs.mongodb.com/master/reference/operator...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы