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

Bisakah pengemudi meteor mongo menangani operator $each dan $position?

Jika Anda membuat Koleksi Meteor dengan new Mongo.Collection('col') Anda mendapatkan kembali instance Minimongo yang bukan asli Node MongoDriver, kan?

Jadi beberapa metode tidak berfungsi atau tidak sepenuhnya didukung.. seperti collection.aggregate

Tetapi Anda dapat dengan mudah mengakses driver asli melalui Col.rawCollection() dan lakukan kueri Anda langsung pada instance asli. Instance asli hanya dapat diakses di server, tentu saja .

Jadi untuk melakukan apa yang Anda inginkan, Anda memiliki beberapa cara, misalnya Anda dapat mengambil array terlebih dahulu, menggunakannya sesuai keinginan Anda dan

$set: {my_array: sortedArray } Secara pribadi saya lebih suka cara ini karena Anda hanya perlu melakukan satu operasi pembaruan daripada dua ($pull &$push at $position )

Tetapi jika Anda ingin melakukannya dengan cara $push di $position.. lakukan saja dengan driver asli

var col = Collection.rawCollection();
var result = Meteor.wrapAsync(col.update.bind(col)(
  /* update query goes here */
);

Catatan:Anda memerlukan Meteor.wrapAsync karena gaya sinkronisasi Meteor, Anda juga bisa melakukannya tanpa itu. Collection.rawCollection().update(...)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menggunakan $slice a $filter result di MongoDB?

  2. Dapatkan indeks elemen yang diberikan dalam bidang array di MongoDB

  3. Tambahkan beberapa nilai menggunakan operator $addToSet Mongo

  4. Hapus item dari array yang setara dengan mongodb di luwak

  5. Spring Boot Data dan MongoDB - Filter Kueri Array Subdocument