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

278
Vistas
how to prevent updating of "updatedAt" field while saving or updating documents in mongodb?

I am in a situation where i want to update documents of collection in mongodb but i don't want "updatedAt" field to be updated. I want to retain the previous value of updated field. Please help.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

If you are using Waterline or other database abstractions, my advice is to run the query natively in mongo.

This is how I would fix this in Sails.js (running Waterline):

let someQuery = {name: 'John Doe'}; 

MyModel.native(function (err, collection){
  collection.update(
    {query: someQuery},                   // Which documents to update?
    {$set:{field1: "value", foo:"bar"}},  // Our new values
    {multi: true},                        // To support update of multiple fields
    function(err, result){
      if (err) console.log(err)
      else console.log(result.result)
    })
});

over 4 years ago · Santiago Trujillo Denunciar

0

updatedAt field is updated when you use update query of mongoose. if we directly use $set query it will only update the mentioned fields inside $ set query. The reason is updatedAt field is managed by mongoose not by mongodb.

over 4 years ago · Santiago Trujillo Denunciar

0

If you are using mongoose, then relatively new feature (2020) gives you the option to override setting timestamps (or just one) on transactions.

Refer to docs

Example from docs shown below

const userSchema = mongoose.Schema({
  email: String
}, { timestamps: true });

const User = mongoose.model('User', userSchema);

const doc = await User.findOneAndUpdate({email: 'test@google.com'}, {email:'newtest@google.com'}, 
{new:true, upsert: true, timestamps:false});
over 4 years ago · Santiago Trujillo 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