是否可以使用某种脚本来更新mongodb中的数据?
我不想(无法)访问mongo shell-但想执行mongoshell更新查询。
我的数据是一个csv文件。我使用hadoop进行数据分析(提取和转换)。我需要将数据返回到mongodb并更新一些属性。作为更新的引用,我想使用生成的ID

可以完成这项任务吗?

任何帮助将不胜感激

最佳答案

您要从CSV文件读取数据并将其导入mongodb吗?您可以生成一个脚本文件(javascript)并使用mongo shell来执行它,如“scripting the shell”中所述。

示例 session ,测试数据库,从一个空的foo集合开始:

> db.foo.insert({name : "james", position : "forward"})
> db.foo.find()
{ "_id" : ObjectId("4f0c99f6cb435f1e7d7fedea"), "name" : "james",     "position" : "forward" }
>

然后生成脚本,我们说mongo_scripting.js:
db.foo.insert({name : "wade", position : "guard"});
db.foo.update({name : "james"}, {$set : {position : "power forward"}}, false, true);

并运行脚本:
mongo localhost:27017/test  mongo_scripting.js

回到蒙哥:
> db.foo.find()
{ "_id" : ObjectId("4f0c99f6cb435f1e7d7fedea"), "name" : "james", "position" : "power forward" }
{ "_id" : ObjectId("4f0c9a64a4a4642bae6459ea"), "name" : "wade",     "position" : "guard" }
>

您会看到一份文档已更新,并插入了一份新文档。

一种替代方法是使用java/python ...驱动程序加载数据。

关于javascript - MongoDB使用脚本更新数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8806613/

10-11 05:42
查看更多