MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Заявка MongoDB за множество ObjectIDs в Array

Можете да използвате комбинация от findOne() и find() курсорни методи заедно с родния JavaScript map метод, за да получите първо идентификационния номер на екипа за конкретен потребител (който ще бъде масив от низове), след това използвайте функцията map, за да съпоставите масива на идентификационния номер на низ на екипите към масива на ObjectId и накрая да направите запитване до колекцията от екипи с получения масив като $in операторен израз:

var teams = db.users.findOne({"name": "User1"}).teams;
var obj_ids = teams.map(function (item){ return ObjectId(item)});
db.teams.find({ "_id": { "$in": obj_ids } });

Изход :

/* 0 */
{
    "_id" : ObjectId("5527a9493ebbe2452666c238"),
    "name" : "Team 1"
}

/* 1 */
{
    "_id" : ObjectId("5527b1be3371e3a827fa602c"),
    "name" : "Team 2"
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB обобщено търсене на вложен масив от обекти

  2. MongoDB Spark Connector py4j.protocol.Py4JJavaError:Възникна грешка при извикване на o50.load

  3. Как да вмъкна HTML в Mongodb?

  4. pullAll, докато премахвате вградени обекти

  5. Как внедрявате автоматично увеличаващ се първичен идентификатор в MongoDB?