【发布时间】:2018-09-18 14:58:43
【问题描述】:
我正在使用 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"
}
所以一位用户拥有一辆车和一只宠物。我需要查询 User 集合并查找是否有一个 User 拥有一个名为“Mickey”的 Pet 和一个型号为“Tesla”的 Car。
我试过这个:
db.user.aggregate([{
$project : {"pet.name" : "Mickey", "car.model" : "Tesla" }
}])
但是当我只有一个包含这些数据的文档时,它会返回大量数据。我做错了什么?
【问题讨论】:
-
预期的输出应该是什么?
-
我只想知道该文档是否存在于我的收藏中。但输出可以只是一个布尔值或所有
User属性