我在数据库中有一个"users"集合。一个用户可以是多个团队的成员。
我使用数组来引用团队ID。
现在我想获取用户所属的所有团队的名称。
我只找到了这种查询方式:
为了实现这个目标,我需要创建一个专门用于此查询的数组。但我更倾向于避免这样做,因为我已经有了以字符串格式存在的ID数组。类似以下代码会很好:
但这并不起作用。是否有一种舒适的方式,可以使用一组字符串ID查询ObjectID?
谢谢和问候 Rolf
我使用数组来引用团队ID。
{ _id: ObjectId("552544fd600135861d9e47d5)",
name : "User1",
teams: [
"5527a9493ebbe2452666c238",
"5527b1be3371e3a827fa602c"
]
}
团队不仅仅是一群人的集合:
{ _id: ObjectId("5527a9493ebbe2452666c238"),
name: "Team 1"
}
{ _id: ObjectId("5527b1be3371e3a827fa602c"),
name: "Team 2"
}
现在我想获取用户所属的所有团队的名称。
我只找到了这种查询方式:
db.teams.find(
{_id:{$in:
[ObjectId("5527a9493ebbe2452666c238"),
ObjectId("5527b1be3371e3a827fa602c")]
}})
为了实现这个目标,我需要创建一个专门用于此查询的数组。但我更倾向于避免这样做,因为我已经有了以字符串格式存在的ID数组。类似以下代码会很好:
db.teams.find(
{_id:{$in:
["5527a9493ebbe2452666c238",
"5527b1be3371e3a827fa602c"] // Strings here, not ObjectIDs
}})
但这并不起作用。是否有一种舒适的方式,可以使用一组字符串ID查询ObjectID?
谢谢和问候 Rolf