我有一个包含许多文档的 MongoDB 数据库。这些文章中的每一篇都有一个名为 myField
的字段,其中包含一个字符串。
我是否可以对集合中的所有 文档运行批量更新,修改每个文档的 myField
值?
在我的例子中,我只想从每个字段中删除尾随的“.html”。我在我的应用程序中使用 node.js 与 Mongo 交互,但如果可能的话,我更希望能够在 mongo
命令提示符下运行单个命令来执行此更新。
最佳答案
是的,可以使用 mongo
从命令提示符更新 mongoDB 文档信息。
说出脚本文件名 migration.js
并转到此文件目录并打开命令提示符并运行此命令。
mongo localhost/dbName migration.js
和 migration.js
代码如下:
print('Please wait it may will take some time to complete migration');
print('....');
db.collectionName.find().forEach( function(doc) {
if(!doc._id) {
print('No doc found');
return;
}
// if need can apply logic to update myField
db.collectionName.update({_id: doc._id}, {$set: {myField: "newVale"}});
});
print('Migration has been completed :)');
关于javascript - MongoDB:更新所有文档中的字符串字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39693571/