【发布时间】:2015-06-13 01:00:43
【问题描述】:
所以我试图在返回之前向用户对象添加一个字段,并且由于某种原因没有添加该属性。有什么想法吗?
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);
});
};
所以在 returnUser 函数中,我正在数据库中搜索用户的当前位置,将其添加到 userRes 对象,然后返回它。但是当我记录 userRes 对象时,它不包含该属性。我的代码有问题吗? userRes 目前看起来像这样:
{ _id: 1,
createTime: 1428477183281,
deviceId: '982f24khsd',
deviceToken: 'kjs398fskjjg5fb43ds323',
firstName: 'Cat',
lastName: 'Man',
email: 'cat@mandu.com',
__v: 0,
users: [],
locations: [],
lngLat: [] }
【问题讨论】:
-
response的值是多少?是null还是undefined? -
为了更清楚,我把它从咖啡改成了javascript。
-
查询未找到任何匹配项时响应为空
-
即使我将其简单地更改为字符串或 userRes.currentLocation = 1 它仍然不会将该属性添加到对象中。我认为这与此无关,但我会仔细检查。
标签: javascript json mongodb mongoose