Si desea convertir toda la colección, puede hacerlo con la canalización de agregación.
Debe convertir la moneda a cadena usando $substr
y $toInt(
o $toDouble
, o $convert
lo que se adapte a su caso) en el $project
escenario y $out
como su última etapa de agregación. $out
escribe el resultado de la canalización de agregación en el nombre de colección dado.
Pero tenga cuidado al usar $out
. Según la documentación oficial de mongodb:
Prueba esto:
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"
}
])
es posible que deba usar allowDiskUse : true
como una opción para la canalización de agregación, ya que tiene muchos documentos y puede superar el límite de mongodb de 16 MB.
No olvides reemplazar collection_name
con el nombre real de la colección e incluya todos los campos requeridos en el $project
etapa que usted necesita en la colección. Y por favor verifique el valor primero con una temporary_collection
diferente o simplemente eliminando la etapa $out y comprobando el resultado de aggregation
canalización.
Para obtener información detallada, lea la documentación oficial de mongodb $out , $toInt , $toDouble , $convert, $substr y allowDiskUse .