Я использую MongoDB 4 и Python 3. У меня есть 3 коллекции. Первая коллекция получила 2 ссылочных поля в других коллекциях.
Пример:
User {
_id : ObjectId("5b866e8e06a77b30ce272ba6"),
name : "John",
pet : ObjectId("5b9248cc06a77b09a496bad0"),
car : ObjectId("5b214c044ds32f6bad7d2"),
}
Pet {
_id : ObjectId("5b9248cc06a77b09a496bad0"),
name : "Mickey",
}
Car {
_id : ObjectId("5b214c044ds32f6bad7d2"),
model : "Tesla"
}
Итак, у одного пользователя есть одна машина и один питомец. Мне нужно запросить коллекцию пользователей и выяснить, есть ли пользователь, у которого есть домашнее животное с именем «Микки» и автомобиль с моделью «Тесла».
Я пробовал это:
db.user.aggregate([{
$project : {"pet.name" : "Mickey", "car.model" : "Tesla" }
}])
Но он возвращает мне много данных, пока у меня есть только один документ с этими данными. Что я делаю не так?