字符串可以分配给未定义的属性,但不能分配给对象属性



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错误。由于它是异步的,因此循环在数据库查询返回结果之前完成,因此当该部分函数运行时,没有更多的循环可以附加值。

最新更新