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

Dapatkan indeks elemen yang diberikan dalam bidang array di MongoDB

Mulai dari MongoDB versi 3.4 kita dapat menggunakan $indexOfArray operator untuk mengembalikan indeks di mana elemen tertentu dapat ditemukan dalam larik.

$indexOfArray membutuhkan tiga argumen. Yang pertama adalah nama bidang array yang diawali dengan $ tanda.

Yang kedua adalah elemen dan opsional ketiga adalah indeks untuk memulai pencarian. $indexOfArray mengembalikan indeks pertama di mana elemen ditemukan jika indeks untuk memulai pencarian tidak ditentukan.

Demo:

> db.collection.insertOne( { "_id" : 123, "food": [ "apple", "mango", "banana", "mango" ] } )
{ "acknowledged" : true, "insertedId" : 123 }
> db.collection.aggregate( [ { "$project": { "matchedIndex": { "$indexOfArray": [ "$food", "mango" ] } } } ] )
{ "_id" : 123, "matchedIndex" : 1 }
> db.collection.aggregate( [ { "$project": { "matchedIndex": { "$indexOfArray": [ "$food", "mango", 2 ] } } } ] )
{ "_id" : 123, "matchedIndex" : 3 }
> db.collection.aggregate( [ { "$project": { "matchedIndex": { "$indexOfArray": [ "$food", "apricot" ] } } } ]  )
{ "_id" : 123, "matchedIndex" : -1 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $slice

  2. Pencarian teks lengkap di MongoDB GridFS?

  3. Hapus fungsi tidak berfungsi dengan angularJS

  4. MongoDB vs CouchDB (Optimasi kecepatan)

  5. Bagaimana cara membaca data ke Tensorflow?