【发布时间】:2018-09-19 09:05:50
【问题描述】:
我正在尝试将元素推送到 mongoose 中的数组。我正在使用更新和 $push 来做这件事。但它没有在数据库中更新它。这是我的代码。 路线.js:
var Chooser = require('../chooser');
var appRouter = function(app) {
app.put("/chooser/:id", function(req, res) {
console.log("ID: ", req.params.id);
if (!req.body.toFollow) {
return res.send({"status": "error", "message": "The account that you want to follow is needed"});
}
else {
console.log("Cuenta: ", req.body.toFollow);
Chooser.update({_id: req.params.id}, {$push: {accounts: {"name": "foo", "idAccount": 123456}}});
return res.send({"status": "ok"});
}
});
}
这是我的猫鼬模式。选择器.js:
var mongoose = require('mongoose');
var chooserSchema = mongoose.Schema({
_id: Number,
accounts: [{name: String, idAccount: Number}]
}, { _id: false });
var Chooser = mongoose.model('Chooser', chooserSchema);
module.exports = Chooser;
【问题讨论】:
-
“Cuenta”是否登录到控制台?另外,您不想在 .update 之后,即在 update 的回调函数中 res.send 吗?
-
这能回答你的问题吗? Array.push does not seem to work on MongoDB
标签: javascript node.js mongodb mongoose mean-stack