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

Bagaimana cara membandingkan 2 koleksi mongodb?

Anda dapat mencoba menggunakan mongodb eval yang dikombinasikan dengan fungsi equals khusus Anda, kira-kira seperti ini.

Metode Anda tidak berfungsi karena dalam kasus pertama Anda membandingkan referensi objek, yang tidak sama. Dalam kasus kedua, tidak ada jaminan bahwa to_json akan menghasilkan string yang sama bahkan untuk objek yang sama.

Sebagai gantinya, coba sesuatu seperti ini:

var compareCollections = function(){
    db.test1.find().forEach(function(obj1){
        db.test2.find({/*if you know some properties, you can put them here...if don't, leave this empty*/}).forEach(function(obj2){
            var equals = function(o1, o2){
                // here goes some compare code...modified from the SO link you have in the answer.
            };

            if(equals(ob1, obj2)){
                // Do what you want to do
            }
        });
    });
};

db.eval(compareCollections);

Dengan db.eval Anda memastikan bahwa kode akan dieksekusi di sisi server database, tanpa mengambil koleksi ke klien.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat membatalkan serialisasi PyMongo ObjectId dari JSON

  2. Perbandingan tanggal di mongodb

  3. MongoDB - salin koleksi di java tanpa mengulang semua item

  4. Masukkan Dataframe Pandas ke mongodb menggunakan PyMongo

  5. Tutorial MongoDB:Menghubungkan ke MongoDB di Scala