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

cara mengonversi string ke nilai numerik di mongodb

Agregasi MongoDB tidak diizinkan untuk mengubah tipe data yang ada dari bidang yang diberikan. Dalam hal ini Anda harus membuat beberapa kode pemrograman untuk mengonversi string ke int . Periksa kode di bawah ini

db.collectionName.find().forEach(function(data) {
    db.collectionName.update({
        "_id": data._id,
        "moop": data.moop
    }, {
        "$set": {
            "PartnerID": parseInt(data.PartnerID)
        }
    });
})

Jika ukuran koleksi Anda lebih dari skrip di atas akan memperlambat kinerja, untuk perfomace mongo menyediakan operasi massal mongo, menggunakan operasi massal mongo juga memperbarui tipe data

var bulk = db.collectionName.initializeOrderedBulkOp();
var counter = 0;
db.collectionName.find().forEach(function(data) {
    var updoc = {
        "$set": {}
    };
    var myKey = "PartnerID";
    updoc["$set"][myKey] = parseInt(data.PartnerID);
    // queue the update
    bulk.find({
        "_id": data._id
    }).update(updoc);
    counter++;
    // Drain and re-initialize every 1000 update statements
    if (counter % 1000 == 0) {
        bulk.execute();
        bulk = db.collectionName.initializeOrderedBulkOp();
    }
    })
    // Add the rest in the queue
if (counter % 1000 != 0) bulk.execute();

Ini pada dasarnya mengurangi jumlah pernyataan operasi yang dikirim ke server menjadi hanya mengirim sekali setiap 1000 operasi yang antri.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 10 fitur teratas dari MongoDB Atlas

  2. Bagaimana Anda memperbarui objek dalam larik dokumen (pembaruan bersarang)

  3. Mongodb mengurutkan array dalam

  4. Isi model luwak dengan bidang yang bukan id

  5. MongoDB Node memeriksa apakah objectid valid