簡體   English   中英

向現有MongoDB文檔添加字段(在Node.js中使用Mongoose)

[英]Add a field to existing MongoDB document (with Mongoose in Node.js)

我在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在本文檔中添加值為'example'的新字段day 所以我這樣做:

Article.update(
      { link: 'http://www.atlantico.fr/example.html'}, 
      { $set : {day : 'example'} }, 
       function(err){  
                    });

但它不起作用,因為當我在那之后查詢文檔時,沒有出現新的字段day ...

在Mongoose中使用update$set時我一定犯了一個錯誤,但我找不到我的錯誤。

我錯過了什么? 謝謝!

嘗試

Article.update(
     {link: 'http://www.atlantico.fr/example.html'}, 
     {day : 'example' },
     {multi:true}, 
       function(err, numberAffected){  
       });

並且不要忘記在架構中添加日期。

Article.findByIdAndUpdate(id, { $set: { day: 'example' }}, { new: true }, function (err, article) {
  if (err) return handleError(err);
  res.send(article);
});

我更喜歡這種方式,因為它包含一個回調函數。

參考和更多信息: http//mongoosejs.com/docs/documents.html

await Users.updateOne( {link: 'http://www.atlantico.fr/example.html'},{ $set: { day : 'example'} }, { multi: true });
  • 不推薦使用update
  • 使用await進行數據庫操作
  • 如果你想在集合中添加新的字段,首先檢查它是否在模型中添加(如果你不使用該字段,因為強制性make是“required:false”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM