O resultado de um
find
é uma matriz de registros. Você provavelmente quis fazer um loop sobre esses registros assim: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!
}
}
Além disso, da página inicial do mangusto , parece que o protótipo de retorno de chamada da função é
function(err, data)
, e não o contrário, que você corrigiu acima. Veja isso na página inicial:
var fluffy = new Kitten({ name: 'fluffy' });
Se
data[0]
atualmente tem um objeto JSON regular, precisamos de uma linha como esta para converter em um objeto de modelo BSON. var myData = new Person(data[0]);