【问题标题】:Connect to a specific database by default in mongodbmongodb中默认连接特定数据库
【发布时间】:2014-04-20 12:21:13
【问题描述】:

我在 linux 机器上运行 mongodb。所以每次我从控制台连接到它(输入mongo)我都会得到这样的结果:

MongoDB shell version: 2.4.9
connecting to: test

然后我正在使用 myDatabase (其中 myDatabase 是 99% 是相同的)。所以基本上我总是做一些不需要的工作。有没有办法配置mongo,让它默认连接到myDatabase

【问题讨论】:

标签: mongodb mongo-shell


【解决方案1】:

很惊讶我没有找到这个的副本。好的,现在我们有了内容。

从命令行,只需执行以下操作:

$ mongo myDatabase

这实际上在documentation 中有介绍,尽管在页面下方。没有直接链接,但搜索 <db address> 并有相同的示例。

你当然可以这样做:

$ mongo --help
MongoDB shell version: 2.4.9
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
    foo                   foo database on local machine
    192.169.0.5/foo       foo database on 192.168.0.5 machine
    192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999

其中显示了使用情况以及您可以传入的其他选项。

另一件事,不是默认连接,而是一个快捷方式,您可以在 .mongorc.js 文件中执行此操作:

db=db.getSiblingDB("myDatabase")

现在将变量 db 分配给该数据库:

db.collection.find()

作用于myDatabase

【讨论】:

  • 谢谢,但我知道 mongo myDatabase,但对我来说这实际上是一回事:因为我仍然需要输入我的数据库的名称。抱歉,我没有在我的问题中写下它。
  • @SalvadorDali 好的,编辑中应该有更多信息。
【解决方案2】:

根据最新的 mongodb 驱动程序,我们可以在连接字符串中提供默认的 database 名称,如下所示:

1. 使用 mongoShell 连接

mongo "mongodb+srv://sandbox.ununu.mongodb.net/mydatabase" --username user001

2。使用驱动程序连接

mongodb+srv://user001:<password>@sandbox.ununu.mongodb.net/mydatabase?retryWrites=true&w=majority

参数详情:

  • 将 mydatabase 替换为默认连接将使用的数据库的名称。
  • sandbox.ununu.mongodb.net 是您的集群名称
  • 系统将提示您输入数据库用户 user001 的密码。
  • user001 是用户名

关于传递ReplicaSet,其他查询字符串参数等的更多细节参考mongodb官方文档。 document link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-31
    • 2011-08-28
    • 2012-06-28
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多