我在MongoDB数据库的集合Article
中有这个现有文档:
[ { site: 'www.atlantico.fr',
date: '2014-05-27T11:10:19.000Z',
link: 'http://www.atlantico.fr/example.html',
_id: 538473817eb00f082f4803fc,
__v: 0} ]
我想在Node.js中使用Mongoose向此文档添加值day
的新字段'example'
。所以我这样做:
Article.update(
{ link: 'http://www.atlantico.fr/example.html'},
{ $set : {day : 'example'} },
function(err){
});
但它不起作用,因为当我在此之后查询文档时,没有出现新的字段day
...
在Mongoose中使用update
或$set
时我肯定犯了一个错误,但我找不到我的错误。
我错过了什么?谢谢!
答案 0 :(得分:13)
试
Article.update(
{link: 'http://www.atlantico.fr/example.html'},
{day : 'example' },
{multi:true},
function(err, numberAffected){
});
并且不要忘记在架构中添加日期。
答案 1 :(得分:0)
Article.findByIdAndUpdate(id, { $set: { day: 'example' }}, { new: true }, function (err, article) {
if (err) return handleError(err);
res.send(article);
});
我更喜欢这种方式,因为它包含一个回调函数。
答案 2 :(得分:0)
await Users.updateOne( {link: 'http://www.atlantico.fr/example.html'},{ $set: { day : 'example'} }, { multi: true });