Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
MongoDB - Conversión de campos de int32 a int64

Tengo un conjunto de datos grande y variable en MongoDB , en el que hay documentos con campos numéricos. Debido a algún problema en la importación de datos, algunos de estos campos terminaron en el tipo de int32 datatype y algunos están en int64 datatype .

Necesito convertirlos todos a int32. Dado que muchos de los campos son documentos/matriz anidados, no puedo usar MongoChef o RoboMongo para editar el campo y reemplazar toda la colección.

¿Cuál es mi próxima mejor opción? ¿Necesitaría escribir un script que recorra cada documento/campo y los encasille explícitamente en NumberInt() ? Podría hacer esto en PHP or Python , pero me preguntaba si hay alguna manera de hacerlo sin escribir código adicional.

¿Hay alguna magia de mongoshell que se pueda hacer? Agradecería si algún Mongo Masters puede darme alguna idea.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para cualquiera que busque hacer esto y venga aquí. Tu puedes correr

 db.foo.find().forEach(doc => { const newBar = bar.valueOf() db.foo.update({ "_id" : doc._id }, { "$set" : { "bar" : newBar } }) })

en la concha de mongo . Esto podría no ser factible en colecciones grandes. La clave es usar .valueOf() en Int64 . Es posible que desee verificar que esto no se desborde

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!