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

159
Vistas
Cómo $empujar: en mongo-db después de incrementar la identificación usando $inc

Necesito incrementar el valor de la ID antes de insertarla en Mongodb. Intenté $inc pero no funciona. Aquí está mi esquema de mangosta

 const subSchema = new mongoose.Schema({ id:{ type:Number, default:1 }, time : { type : Date, default: Date.now }, description:{ type:String, required:true } }) const activitySchema = new mongoose.Schema({ userid:{ type:String, required:true }, activity:[subSchema] })

Estoy tratando de actualizar la identificación en subSchema que luego se usa en activitySchema

Esto es lo que hizo id inicialmente.

findOneAndUpdate({userid:userid}, { $push: { activity: {description:"Test",$inc:{ id: 1} } } })

El documento se está insertando pero con un valor predeterminado de 1 para todos
Cuando eliminé el valor predeterminado: 1 de la identificación, el documento se actualiza sin identificación
¿Alguna solución fácil para esto?

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

0

Es imposible hacerlo en una sola consulta. En su lugar, puede hacerlo en 2 pasos como:

 const user = await Activity.findOne({ userid }); // ^^^^^ put your collection name here if (user) { const activityCount = user.activity.length; await user.updateOne({ $push: { activity: { id: activityCount + 1, description: 'Dolor sit amet' } }}) }
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