MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kueri MongoDB untuk beberapa ObjectIDs di Array

Anda dapat menggunakan kombinasi findOne() dan find() metode kursor bersama dengan JavaScript asli map metode untuk pertama-tama mendapatkan id tim untuk pengguna tertentu (yang akan menjadi larik string), kemudian gunakan fungsi peta untuk memetakan larik id string tim ke larik ObjectId, dan akhirnya menanyakan koleksi tim dengan larik yang dihasilkan sebagai $in ekspresi operator:

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 } });

Keluaran :

/* 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. Otentikasi baris perintah MongoDB shell gagal

  2. MongoDB &Mongoose mengakses satu database sambil mengautentikasi terhadap yang lain (NodeJS, Mongoose)

  3. MongoDB Java:Menemukan objek di Mongo menggunakan QueryBuilder $in operator tidak menghasilkan apa-apa

  4. luwak berbeda dan diisi dengan dokumen

  5. Agregasi MongoDb kesalahan $match :Argumen harus berupa operator pipa agregat