我正在尝试从Windows中的批处理脚本运行MongoDB查询... 我找不到任何参考如何做到这一点。请你能告诉我一些示例命令和另外一个问题。
我正在运行此命令来更改数据库...
mongo --eval "use Sample_Test"
它不起作用。
当我插入一些数据时。它可以工作,但是,插入默认数据库test。
mongo --eval "db.restaurants.insert({'Name':'Vishal'})"
我想在Sample_Test数据库中插入数据。
我只知道上面的"mongo --eval"
命令,如果有人知道更多,请分享它......这真的有帮助。
答案 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。