Node.js 如何在创建方法上向Mongoose DB中的数组添加推送数据?
我试图用create方法中数组中的对象初始化Mongoose模式 我的模式如下所示:Node.js 如何在创建方法上向Mongoose DB中的数组添加推送数据?,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我试图用create方法中数组中的对象初始化Mongoose模式 我的模式如下所示: var imageSchema = new mongoose.Schema({ url: {type:String}, text: {type:String} }); module.exports = todo.model('Todo', new mongoose.Schema ({ name : {type : String, default: ''}, dataArr :
var imageSchema = new mongoose.Schema({
url: {type:String},
text: {type:String}
});
module.exports = todo.model('Todo', new mongoose.Schema ({
name : {type : String, default: ''},
dataArr : [imageSchema]
}));
我的路线是这样的:
app.post('/api/todos', function(req, res) {
Todo.create({
name : req.body.name,
},
{ $push : { dataArr : { url : 'foo' , text : 'bar'} } },
function(err, todo) {
if (err) {
res.send(err);
}
});
});
任何帮助都将不胜感激。我确信create方法不会接受第二个参数,您可以在其中提供$push 由于要创建对象,只需简单地设置数组:
app.post('/api/todos', function(req, res) {
Todo.create({
name : req.body.name,
dataArr : [{ url : 'foo' , text : 'bar'}]
},
function(err, todo) {
if (err) {
res.send(err);
}
});
});
可以将其作为数组添加到用于创建模型实例的对象中:
app.post('/api/todos', function(req, res) {
Todo.create({
name: req.body.name,
dataArr: [{url: 'foo', text: 'bar'}]
}, function(err, todo) {
if (err) { res.send(err); }
});
});