Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

199
Vistas
cómo agregar un número al campo en cada documento en mongodb usando nodejs

Mi colección tiene un campo de número de phonenumber . Quiero agregar 91 delante del número de teléfono.

 { "_id": "6137392141bbb7723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":9000000001 }, { "_id": "6137392141bbe30723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":9000000002 }

Quiero actualizar mi colección así.

 { "_id": "6137392141bbb7723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":919000000001 }, { "_id": "6137392141bbe30723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":919000000002 }

Estoy intentando con este código pero no está actualizando el campo.

 var x = await User.find({}); x.forEach(async function(d) { var phone = d.phonenumber; var newPhoneNumber = 910000000000+phone; console.log(newPhoneNumber); //update await User.updateMany({},{$set:{phonenumber:newPhoneNumber}}, { new: true, runValidators : true }); })

Solo obtengo un valor para todos los documentos como este:

 { "_id": "6137392141bbb7723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":919000000001 }, { "_id": "6137392141bbe30723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":919000000001 }, { "_id": "6137392141bbe30723", "email": "brooke@cagle.com", "lastname": "Cagle", "firstname": "Brooke", "phonenumber":919000000001 }

No sé si este enfoque es correcto o no.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Patio de juegos

 db.collection.update({}, //To match all documents [{ $set: { key: { $toInt: { $concat: [ "91", { $toString: "$key" } ] } } } } ], //Concatenate 91 and the value in the field {multi: true })

Esto es aplicable para las versiones de mongo desde 4.2. Esta es una canalización de agregación que se utiliza en la consulta de actualización.

Referencia

EDITAR:

Habría obtenido un error de desbordamiento. Podría usar toLong en este caso.

 db.mybooks.update({}, //To match all documents [{ $set: { key: { $toLong: { $concat: [ "91", { $toString: "$key" } ] } } } } ], //Concatenate 91 and the value in the field {multi: true })

Es una pieza de código probada.

about 4 years ago · Juan Pablo Isaza Denunciar

0

He encontrado una solución. Tal vez, esto funcione,

 let mobile = 9876543210; let phone = `91${mobile}`; let final = Number(phone) console.log(typeof(final), final+3);

Asi que,

 var phone = d.phonenumber; var newPhoneNumber = Number(`91${phone}`); console.log(newPhoneNumber);

Lea más sobre Number(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda