#mongodb
#mongodb
Вопрос:
Я нашел это руководство в Интернете, которое является полезным. Однако в нем показан пример использования массива из двух идентификаторов объекта. Как можно было бы выполнить запрос, если бы это был один ObjectId вместо двух?
http://www.tutorialspoint.com/mongodb/mongodb_relationships.htm
{
"_id":ObjectId("52ffc33cd85242f436000001"),
"contact": "987654321",
"dob": "01-01-1991",
"name": "Tom Benzamin",
"address_ids": [
ObjectId("52ffc4a5d85242602e000000"), // if this was not an array and just one ObjectId
ObjectId("52ffc4a5d85242602e000001")
]
}
var result = db.users.findOne({"name":"Tom Benzamin"},{"address_ids":1})
var addresses = db.address.find({"_id":{"$in":result["address_ids"]}})
Ответ №1:
Надеюсь, я все понял правильно. Итак, у вас есть элементы такого рода:
{
"_id":ObjectId("52ffc33cd85242f436000001"),
...
"address_ids": ObjectId("52ffc4a5d85242602e000000")
}
Ваш код будет выглядеть следующим образом:
var result = db.users.findOne({"name":"Tom Benzamin"},{"address_ids":1})
var addresses = db.address.find({"_id": result["address_ids"]})