Entonces, cuando jugueteo con datos en mongo usando mongoose, tengo dificultades para configurar datos en un documento
Este problema es cuando uso $set en findByIdAndUpdate, establece todo el documento cuando lo coloco, lo cual es malo.
Entonces investigué un poco e intenté usar $push de un proyecto anterior, pero resulta que $push no funciona en la matriz (tiene sentido)
Entonces, ¿cómo establecería ambos datos en un documento que solo actualice los campos en los que estoy actualizando datos?
Esto puede parecer una pregunta simple, pero no soy el mejor solucionador de problemas, ya que los documentos de mangostas no son los mejores. Me cuesta encontrar muchas respuestas a mis problemas en los documentos.
Este es el código que tengo en mi Code Base
await userSchema.findByIdAndUpdate(attackerUser._id, { $push : { duelInfo: { dueling: false, duelingWith: "", timeSinceOffer: 0} }, $inc : { duelinfo: { wins : 1 }, credits : user.duelInfo.duelBet } }, { upsert : true } ); await userSchema.findByIdAndUpdate(attackerUser._id, { $inc : { duelinfo: { wins : 1 }, credits : user.duelInfo.duelBet } }, { upsert : true } ); await userSchema.findByIdAndUpdate(defenderUser._id, { $push : { duelInfo: { dueling: false, duelingWith: "", timeSinceOffer: 0} } }, { upsert : true } ); await userSchema.findByIdAndUpdate(defenderUser._id, { $inc : { duelinfo: { losses : 1 } }, credits : - user.duelInfo.duelBet }, { upsert : true } );Así es como se ven los Documentos
_id: "195967294" username:"emansza" collectInfo: true credits: 5000 processSign: false messageCount: 0 duelInfo:Object dueling: false duelingWith: "" lastDuel: 2022-01-06T02:09:46.340+00:00 wins: 1 losses: 1 draws: 1 duelBet: 1