Как запросить ссылку в MongoDB

#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"]})