Estoy tratando de comenzar a utilizar Mongoose como un ODM para MongoDB con mi aplicación node.js. Me he dado cuenta de que cuando diseño un esquema con un documento incrustado, si no le agrego un valor, almacena una matriz en blanco "[]" en Mongo. ¿Por qué es esto? Intento almacenar cambios históricos en registros y una matriz en blanco significaría que ese cambio eliminó el valor. Aquí hay un esquema de muestra.¿Por qué Mongoose agrega matrices en blanco?
schema.Client = new mongoose.Schema({
name:{type:String, required:true},
products:[{
name:{type:String, index:true},
startDate:Date,
endDate:Date
}],
subdomain:{type:String, index:{unique:true}},
})
Aquí está el documento resultante cuando guardo un documento con solo nombre y subdominio.
{
"name": "Smith Company",
"products": [],
"subdomain": "smith"
}
¿Por qué agregó productos con una matriz en blanco por defecto y cómo puedo detenerlo?
el valor por defecto para una matriz es una matriz vacía, así que si guarda solamente {name: "foo", subdominio: "bar"} productos será una matriz vacía – supernova
¿Hay alguna forma de cambiar el valor predeterminado de una matriz para que no escriba nada? – wintzer
puede publicar el código donde actualiza su documento? – supernova