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 .