MongoDB和Batch脚本操作

时间:2016-05-17 08:06:54

标签: mongodb shell batch-file

我正在尝试从Windows中的批处理脚本运行MongoDB查询... 我找不到任何参考如何做到这一点。请你能告诉我一些示例命令和另外一个问题。

我正在运行此命令来更改数据库...

mongo --eval "use Sample_Test"

它不起作用。

当我插入一些数据时。它可以工作,但是,插入默认数据库test。

mongo --eval "db.restaurants.insert({'Name':'Vishal'})"

我想在Sample_Test数据库中插入数据。

我只知道上面的"mongo --eval"命令,如果有人知道更多,请分享它......这真的有帮助。

3 个答案:

答案 0 :(得分:1)

由于您的use DB无效,因此数据已插入默认数据库。 如果您使用的是旧版本的MongoDB,则需要使用-d在此处添加数据库名称:

mongo -d Sample_Test --eval  "db.restaurants.insert({'Name':'Vishal'})"

或者您可以执行任何包含所有mongo脚本的脚本文件,如下所示:

mongo -d Sample_Test --eval mongoScript.js
  

在Mongo 3.2版中,不需要-d标志。有关脚本的更多信息,请参阅documentation

所以你可以简单地使用

mongo Sample_Test --eval "db.restaurants.insert({'Name':'Vishal'})"

希望这对你有用。

答案 1 :(得分:0)

使用此代码代替您的代码:

mongo.exe Sample_Test --eval  "db.restaurants.insert({'Name':'Vishal'})"

但是如果要在一个会话登录中运行多个命令,请使用脚本文件。

答案 2 :(得分:0)

您还可以使用URL样式连接到MongoDb服务器和数据库,例如:

mongo "mongoldb://localhost:8000/myCars" --eval "db.getCollection('restaurants').insert({'Name':'Vishal'})

您还可以将凭据放入URL。

请参阅:https://docs.mongodb.com/manual/mongo/