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

235
Views
MongoDB updateOne obtiene el documento más antiguo Quiero el más nuevo

Perdón por hacer esta pregunta tan básica, pero realmente quiero que este código funcione.

En node.js actualizo mi base de datos mongo con éxito usando la función .updateOne() y mantengo los parámetros en blanco como se muestra a continuación. Pensé que actualizaría el documento agregado más recientemente de la colección, sin embargo, cambia el más antiguo.

¿Cómo puedo actualizar el documento agregado más recientemente en la colección sin pasar por toda la colección? Cualquier consejo ayuda y estoy abierto a usar otra función, pero preferiría no hacerlo.

la "parte importante":

 var collection = db.collection('SensorValues'); collection.updateOne({}, { $set: { "VSWR": 999 } }, function (err, result) { console.log("Look I updated something"); });
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Simplemente use db.collection.findOneAndUpdate() en lugar de db.collection.updateOne() agregando la opción del tercer argumento returnNewDocument: true .

returnNewDocument Cuando es verdadero, devuelve el documento actualizado en lugar del documento original. El valor predeterminado es falso.

Ver más en https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/

over 4 years ago · Santiago Trujillo Report

0

¡Resuelto! Es bastante fácil si no anula el _id que mongo proporciona a cada documento en una colección. Todo lo que tiene que hacer es: - Mantener la opción de filtro en blanco - Establecer la ordenación en _id:-1

Aquí está mi solución:

 var collection = db.collection('SensorValues');//change as needed //NOTE: {} and sort{_id:-1} both return the newest document collection.findOneAndUpdate( {}, {$set:{"VSWR":0,"updatedAt":finalid}},//change as needed { sort: {_id:-1}, } );

No lo he probado en nada más que en la versión más reciente de Node.js, pero espero que ayude.

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!