El resultado de un find
es una matriz de registros. Probablemente tenías la intención de recorrer esos registros de esta manera:
Person.find({ uid: /19524121/ }).select('name').exec(function(err, data){
for(var i = 0; i < data.length; i++) {
var myData = new Person(data[i]);
myData.name = "try to save me now";
myData.save(); // It works now!
}
}
Además, desde la página de inicio de mongoose
, parece que el prototipo de devolución de llamada de la función es function(err, data)
, no al revés, que corrigiste anteriormente.
Mira esto desde la página de inicio:
var fluffy = new Kitten({ name: 'fluffy' });
Si data[0]
actualmente tiene un objeto JSON regular, necesitamos una línea como esta para convertir a un objeto modelo BSON.
var myData = new Person(data[0]);