我有一个mongodb对象,下面给出了模型,我想将内容添加到现有数组
var UsersSchema = new Schema({
name: {
type: String,
required: true
},
EmpId: {
type: string,
required: true
},
feed:[{
status: {
type: String
},
comments: {
type: String
},
posted_date: {
type: Date,
default : Date.now
}
}]
});
使用PUT或POST可以将内容添加到现有文档的feed数组中。请检查以下代码
router.put('/api/user1', function(request, response){
Model.findById(request.body._id, function(err, user){
console.log(user.feed);
if(err){
response.status(404).send(err);
}
else {
user.update(
{_id: user._id },
{ $addToSet:
{ feed: user.feed }})
}
})
});
答案 0 :(得分:0)
找到文档后,应该使用$ push添加到Mongo中的数组。
user.update(
{_id: user._id },
{ $push:
{ feed: user.feed }
})
答案 1 :(得分:0)
尝试:
user.update({_id: user.id}, {$addToSet: {feed: {$each: user.feed}}});
如果您使用$addToSet
或$push
而不使用$each
,则会将整个数组推送到mongo中的数组,而不是每个条目。