gpt4 book ai didi

javascript - 根据 MongoDB 文档中的另一个字段更新一个字段(在 Node.js 中使用 Mongoose)

转载 作者:行者123 更新时间:2023-12-03 12:30:25 25 4
gpt4 key购买 nike

我在 MongoDB 数据库中有一个名为 Article 的集合,具有以下架构和模型:

var articleSchema = new Schema({
site: String,
date: String,
day: String,
link: {
type: String,
unique: true,
index: {unique:true}
});

var Article = mongoose.model('Article', articleSchema);

文档示例,尚无 day 字段:

[ { site: 'www.atlantico.fr',
date: '2014-05-27T11:10:19.000Z',
link: 'http://www.atlantico.fr/example.html',
_id: 538473817eb00f082f4803fc,
__v: 0} ]

对于该集合的所有文档,我希望根据date字段(以我知道的给定方式)更新day字段。

我尝试过:

Article.find() // all documents
.exec(function (err, articles) { // articles is an array

for (var i=0; i<articles.length; i++) { // for each document

var myDate = articles[i].date; // I take its date
myDate = myDate.replace(/^(\d{4})\-(\d{2})\-(\d{2}).*$/, '$3/$2/$1'); // I create a new variable

Article.update({date: articles[i].date}, // articles with this date
{day : myDate }, // update with the new variable created using the date
function(err, numberAffected){
});
}
});

如果我为给定文档运行此代码(通过在 Article. find(),它有效。

但是如果运行上面显示的代码,那么应该对所有文档执行此操作,那么一定有问题,因为这样我可以看到所有文档都没有更新。

我错过了什么?感谢您的帮助。

最佳答案

更新时无法引用文档中的字段。您发布的答案似乎是要走的路。引用这个答案 Update MongoDB field using value of another field

关于javascript - 根据 MongoDB 文档中的另一个字段更新一个字段(在 Node.js 中使用 Mongoose),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com