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

Bagaimana cara mengubah string dengan karakter di int untuk seluruh koleksi?

Jika Anda ingin mengonversi seluruh koleksi, Anda dapat melakukannya dengan pipa Agregasi.

Anda perlu mengonversi mata uang ke string menggunakan $substr dan $toInt( atau $toDouble , atau $convert apa pun yang sesuai dengan kasus Anda) di $project panggung dan $out sebagai tahap terakhir agregasi Anda. $out menulis hasil dari pipa agregasi ke nama koleksi yang diberikan.

Tapi hati-hati saat menggunakan $out . Menurut dokumentasi resmi mongodb :

Coba ini :

db.collection_name.aggregate([
    {
        $project: {
            category : "$category",
            category_name : "$category_name",
            lot_title : "$lot_title",
            seller_name : "$seller_name",
            seller_country : "$seller_country",
            bid_count : "$bid_count",
            winning_bid : { $toInt : {$substr : ["$winning_bid",2,-1]}},
            bid_amount : "$bid_amount",
            lot_image : "$lot_image"
        }
    },{
        $out : "collection_name"
    }
])

anda mungkin perlu menggunakan allowDiskUse : true sebagai opsi untuk pipa agregasi, karena Anda memiliki banyak dokumen, dan mungkin melebihi batas mongodb 16 MB.

Jangan lupa ganti collection_name dengan nama koleksi aktual , dan sertakan semua bidang wajib di $project tahap yang Anda butuhkan dalam koleksi. Dan tolong periksa kembali nilainya terlebih dahulu dengan temporary_collection yang berbeda atau hanya dengan menghapus tahap $out dan memeriksa hasil aggregation saluran pipa.

Untuk informasi detail, baca dokumentasi resmi mongodb $out , $toInt , $toDouble , $convert, $substr dan allowDiskUse .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Luwak, perbarui nilai dalam array objek

  2. MongoDB C++, Bagaimana cara menambahkan nilai ISODate saat memasukkan

  3. Mengurangi bidang nomor tipe di mongodb dan nodejs

  4. Mongoengine sangat lambat pada dokumen besar dibandingkan dengan penggunaan pymongo asli

  5. MongoDB dan C# Temukan()