gpt4 book ai didi

linux - 连接mongodb时选择数据库

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:08 25 4
gpt4 key购买 nike

我想从 shell 脚本向 mongodb 发送命令。在 Mongodb 2.6 之前,我可以使用以下命令执行此操作:

mongo --host db.example.com/mydb -u myuser -pMyPassword --eval 'db.getSiblingDB("mydb").addUser("someone","passss")';

或者我可以运行一个提供它的 javascript 文件:

mongo --host db.example.com/mydb -u myuser -pMyPassword  some.js;

升级到 2.6 版本的 Mongodb 后,这些命令不再适用于我。

有什么方法可以选择数据库并在其上运行命令吗?请记住,我想从 linux shell 脚本运行命令。

或者是否有更好的方法来添加 mongodb 用户并从 shellscript 运行 javascript 文件?

最佳答案

根据 mongodb help ,您可以使用以下行在外部脚本中连接您的数据库。

db = connect("localhost:27020/myDatabase");

你也可以使用下面这行

mongo localhost:27017/test myjsfile.js

例如,请参见以下运行。

$$>mongo --version
MongoDB shell version: 2.6.4
$$>mongo
MongoDB shell version: 2.6.4
connecting to: test
> show dbs
admin (empty)
local 0.078GB
test 0.078GB
> use stackoverflow
switched to db stackoverflow
> db.questions.insert({a:1})
WriteResult({ "nInserted" : 1 })
> show collections
questions
system.indexes
> db.questions.findOne()
{ "_id" : ObjectId("547d95c671d7e080cfe5f977"), "a" : 1 }
> exit
bye


$$>mongo test --eval "printjson(db.questions.findOne())"
MongoDB shell version: 2.6.4
connecting to: test
null

$$>mongo stackoverflow --eval "printjson(db.questions.findOne())"
MongoDB shell version: 2.6.4
connecting to: stackoverflow
{ "_id" : ObjectId("547d95c671d7e080cfe5f977"), "a" : 1 }

关于linux - 连接mongodb时选择数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com