Using NodeJS and MongoDB.
我有一个 mongo 查询,我正在尝试将查询的某些属性分配给现有对象,这是上一个查询的结果。
我收到"类型错误:无法设置未定义的属性'属性 1'"
enter code here
for(var i=0; i<data.data.length; i++){
if(data.data[i].a){
var c = data.data[i].a.toString();
SOMETHING.METHOD(c, function(user){
console.log(JSON.stringify(user, null, 2));
data.data[i].property1 = user.property1;
data.data[i].property2 = user.property2;
data.data[i].property3 = user.property3;
});
}else{
data.data[i].property1 = "not available";
data.data[i].property2 = "not available";
data.data[i].property3 = "not available";
}
奇怪的是,当我将"不可用"分配给属性 1 时,没有错误。我尝试将 user.property1 更改为字符串(),但这并没有解决它。不知道为什么一个作业有效而另一个作业无效。
解决了。一个典型的新手nodejs错误。由于它是异步的,因此循环在数据库查询返回结果之前完成,因此当该部分函数运行时,没有更多的循环可以附加值。