Резултатът от find
е масив от записи. Вероятно сте искали да преминете през тези записи по този начин:
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!
}
}
Освен това от началната страница на mongoose
, изглежда, че прототипът на функцията за обратно извикване е function(err, data)
, а не обратното, което коригирахте по-горе.
Вижте това от началната страница:
var fluffy = new Kitten({ name: 'fluffy' });
Ако data[0]
в момента има обикновен JSON обект, имаме нужда от ред като този, за да преобразуваме в обект на BSON модел.
var myData = new Person(data[0]);