MongoDB:更新所有文档中的字符串字段

TW8*_*000 3 javascript database mongodb node.js

我有一个 MongoDB 数据库,集合中有许多文档。每篇文章都有一个名为myField“包含字符串”的字段。

我是否可以对集合中的所有myField文档运行批量更新,修改每个文档的值?

就我而言,我只想从每个字段中删除尾随的“.html”。mongo我在应用程序中使用 node.js 与 Mongo 交互,但如果可能的话,我希望能够在命令提示符上运行单个命令来执行此更新。

Sha*_*Roy 5

是的,可以使用命令提示符更新mongoDBmongo文档信息。

说出脚本文件名migration.js并转到此文件目录并打开命令提示符并运行此命令。

mongo localhost/dbName migration.js
Run Code Online (Sandbox Code Playgroud)

和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 :)');
Run Code Online (Sandbox Code Playgroud)