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

Menghapus elemen array di mongoDB berdasarkan posisi elemen

Dari dokumentasi:

{ $pull : { field : {$gt: 3} } } removes array elements greater than 3

Jadi saya kira Anda dapat melakukan sesuatu seperti ini untuk saat ini:

{ $pull : { field : {$gt: 3, $lt: 5} } } // shoud remove elemet in 4 position 

Atau coba perbarui menggunakan operator posisi , saya kira seharusnya seperti ini:

  { $pull : "field.4" } 

  { $pull : {"field.$": 4}}

Itu hanya saran, karena saya tidak bisa mengujinya sekarang.

Pembaruan:

Sepertinya Anda tidak dapat melakukannya dengan benar dalam satu langkah (ada bug di jira )

Tetapi Anda dapat menghapus menggunakan elemen yang tidak disetel di posisi dan elemen yang menarik dengan nilai nol:

{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menyebarkan MongoDB Menggunakan Docker

  2. Node.js + MongoDB :MongoError:kursor mati atau habis waktu

  3. Hitung peristiwa dan masukkan string literal selama agregasi

  4. mongoDB, tidak dapat membaca dari file konfigurasi -- config di folder berbeda/Copot pemasangannya?

  5. Banyak koneksi luwak