Mi anterior Mongoose Schema es
social:{ instagram: String, facebook: String, whatsapp: String, }y mi nuevo Mongoose Schema es
social:{ instagram: { data: String, active: { type: Boolean, default: true } }, facebook:{ data: String, active: { type: Boolean, default: true } }, whatsapp:{ data: String, active: { type: Boolean, default: true } } }así que básicamente en el modelo anterior estoy almacenando el enlace directamente en variables como instagram, facebook, whatsapp
pero en el nuevo modelo, estoy almacenando el enlace en la variable de datos debajo de la variable principal y agregando una variable activa adicional, entonces, ¿cómo puedo mover alrededor de 20 datos anteriores en el nuevo formato de esquema?
Puede hacer una consulta de update que transferirá todos los documentos a la nueva estructura. Puedes hacerlo así:
db.collection.update({ "social.instagram.active": { "$exists": false } }, [ { "$set": { "social": { "instagram": { "data": "$social.instagram", "active": true }, "facebook": { "data": "$social.facebook", "active": true }, "whatsapp": { "data": "$social.whatsapp", "active": true } } } } ], { "multi": true })