MongoDB“ forEach”命令将在哪里运行?

马切洛·格雷奇·林斯

范围:

我有几个需要在服务器上托管的MongoDB集合,这些集合需要“固定”(价格规范化和某些属性值和名称的更改)。

为了解决这些问题,我目前正在本地Robomongo工具执行foreach命令(而不是在服务器上),但是该过程花费的时间比我预期的长。

这是我要用来确定商品价格的命令之一。

 db.Products_PoC.find().forEach( function(myDoc) {
    myDoc.price = (myDoc.price.toFixed(2)) * 100;
    db.Products_PoC.save (myDoc);
});

故障排除:

快速排除故障后,该工具似乎正在客户端而不是所有服务器端上运行此操作(这会更快)。快速浏览任务管理器,可以看到Robomongo进程的网络使用率高达5.5 mb / s。

问题:

有什么办法可以在服务器上而不是在本地运行这样的命令?

里亚克西耶夫

您可以使用eval函数在MongoDB服务器上运行代码。例如:

db.eval(function() { 
     db.Products_PoC.find().forEach( function(myDoc) {
        myDoc.price = (myDoc.price.toFixed(2)) * 100;
        db.Products_PoC.save (myDoc);
      });
    });

更多关于EVAL这里请注意,db.eval将对数据库进行全局写锁定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB的“ forEach”命令将在哪里运行?

来自分类Dev

在mongodb中将在哪里创建数据库?

来自分类Dev

SailsJS在哪里存储MongoDB的数据

来自分类Dev

从 ReactiveMongoTemplate 运行 MongoDB sleep() 命令

来自分类Dev

在哪里可以运行Atom命令?

来自分类Dev

在哪里可以找到在Meteor中创建的MongoDB文档?

来自分类Dev

MongoDB 3.0上db.serverStatus()中的IndexCounter在哪里

来自分类Dev

mongodb函数currentOp()返回的记录在哪里?

来自分类Dev

在哪里可以找到MongoDB连接字符串的dbname?

来自分类Dev

在哪里可以找到在Meteor内部创建的MongoDB文档?

来自分类Dev

mongodb分片集合索引信息存储在哪里?

来自分类Dev

如何从pymongo运行原始mongodb命令

来自分类Dev

无法运行MongoDB聚合命令(OperationFailure)

来自分类Dev

通过ObjCMongoDB运行基于MongoDB词典的命令

来自分类Dev

mongodb $哪里不工作

来自分类Dev

我怎么知道Mongodb查询在哪个节点上运行?

来自分类Dev

X以SLiM开头时在哪里放置要运行的命令

来自分类Dev

在哪里运行symfony2调试命令?

来自分类Dev

从命令行查找程序在哪里运行

来自分类Dev

extern声明的变量将在哪里定义?

来自分类Dev

PHP的Foreach,在哪里

来自分类Dev

复杂的聚合命令MongoDB

来自分类Dev

mongodb 更新命令询问

来自分类Dev

tls命令在哪里?

来自分类Dev

读取命令在哪里?

来自分类Dev

MongoDB-mongo命令运行,但mongod不运行

来自分类Dev

在ubuntu上运行mongoDB

来自分类Dev

运行MongoDB所需的时间

来自分类Dev

无法运行mongodb