Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 属性未添加到JS对象_Javascript_Json_Mongodb_Mongoose - Fatal编程技术网

Javascript 属性未添加到JS对象

Javascript 属性未添加到JS对象,javascript,json,mongodb,mongoose,Javascript,Json,Mongodb,Mongoose,因此,我试图在返回用户对象之前向其添加一个字段,但由于某些原因,该属性没有被添加。有什么想法吗 returnUser = function(userRes) { console.log(">POST /returnuser< Returning user w/ userId: " + userRes.userId + " deviceToken: " + userRes.deviceToken); return Location.findOne({ users: {

因此,我试图在返回用户对象之前向其添加一个字段,但由于某些原因,该属性没有被添加。有什么想法吗

returnUser = function(userRes) {
  console.log(">POST /returnuser< Returning user w/ userId: " + userRes.userId + " deviceToken: " + userRes.deviceToken);
  return Location.findOne({
    users: {
      $elemMatch: {
        user: userRes.userId
      }
    }
  }, function(error, response) {
    userRes.currentLocation = response;
    console.log(userRes);
    return res.send(userRes);
  });
};

事实证明,userRes对象实际上是从mongoose查询返回的mongoose模型实例,它是不可变的

为了解决这个问题,您最好调用
lean()
,这将为您提供一个普通的JS对象,而不是一个完整的模型实例

或者,如果您无权访问查询,可以执行以下操作:

mutableUserRes = JSON.parse(JSON.stringify(userRes));

它复制了整个对象,但现在它是一个简单的JS对象,而不是mongoose模型实例。

可能是重复的吗?
响应的值是多少?它是
null
还是
undefined
?我将它从coffee更改为javascript以使其更清晰。当查询未找到任何匹配项时,响应为null即使我仅将其更改为字符串或userRes.currentLocation=1,它仍然不会将属性添加到对象中。我不认为这有什么关系,但我会再检查一遍。我今天也有同样的问题。救生员。谢谢
mutableUserRes = JSON.parse(JSON.stringify(userRes));