quiero actualizar el campo móvil a la cadena en mongodb.
{ "_id": "1373b7723", "firstname": "name1", "mobile":1000000099 }, { "_id": "137be30723", "firstname": "name2", "mobile":1000000088 }Necesito una salida como esta.
{ "_id": "1373b7723", "firstname": "name1", "mobile":"1000000099" }, { "_id": "137be30723", "firstname": "name2", "mobile":"1000000088" } db.users.updateMany( {}, //To match all documents [{ $set: {mobile: { $concat: [ "", "$mobile" ] } } }], { new: true, runValidators : true });Intenté con el código anterior pero no obtengo el resultado deseado.
Hice algo similar antes, pero no fue una conversión a cadena sino a Fecha. ver esto
También puede usar $toString como se menciona aquí . Vea este ejemplo similar a su caso de uso
Prueba a continuación si te funciona.
db.users.find({}).forEach(function (doc) { db.users.updateOne( { _id: doc._id, }, { $set: { mobile: String(doc.mobile) }, } ) })o versión modificada de su código
db.users.updateMany( {}, //To match all documents [{ $set: {mobile: { $toString: {$toLong:"$mobile"} } } }], { new: true, runValidators : true });