对于每个POST请求,我将使用用户坐标的标记保存到数据库。然后应该为每个标记分配一个用户。在我的用户模式中,我有一个键"标记",我想收集Marker类型的对象。整个POST请求如下所示:
http://example.com
我不知道为什么所有的时间"标记"数组是空的。
router.post("/", function(req, res, next) {
var decoded = jwt.decode(req.query.token);
User.findById(decoded.user._id, function(err, user) {
if (err) {
return res.status(500).json({
title: "An error occurred",
error: err
});
}
var marker = new Marker({
name: req.body.name,
date: new Date(),
latitude: req.body.lat,
longitude: req.body.lng,
user: user._id
});
marker.save(function(err, result) {
if (err) {
console.log("ERRROR");
return res.status(500).json({
title: "An error occurred",
error: err
});
}
user.markers.push(result);
user.save();
res.status(201).json({
message: "Saved message",
obj: result
});
});
});
});
似乎这些行无法正常工作(但用户对象和结果在控制台中显示正确的数据):
{
"_id": "5ad4d67962909c1784c6a069",
"firstName": "test",
"lastName": "test",
"password": "$2a$10$E.yPFSG4eM/57Up8Se5QXe59upcURxUiofIKxrTkCKs1jfuS5PGnu",
"email": "test@wp.pl",
"__v": 0,
"markers": []
}
如果重要的话,我也会把我的用户mongoose架构放在这里:
user.markers.push(result);
user.save();
你能在这里给我一些建议吗?