我正在阅读mongodb指南,但我不明白:

mongodb://fred:foobar@localhost

上面说我可以通过网络浏览器连接到mongodb.

我试过了,但没用.Safari/Firefox无法识别mongodb协议.

我为什么要这么做?

mongodb服务器不只是为了通过命令行连接吗?

27017端口和28017端口之间有什么区别?

我应该通过http还是mongodb协议连接?

推荐答案

当您启动mongod(MongoDB守护进程)时,默认情况下,它会在两个端口上开始侦听.

  1. 27017:各种MongoDB驱动程序访问的默认端口.
  2. 28017:处理HTTP请求并提供一些常规监视的端口.

您列出的mongodb://fred:foobar@localhost实际上代表了这一点:mongodb://fred:foobar@localhost:27017这是MongoDB驱动程序的访问协议.

你看到的另一个"东西"是28017端口.这(默认情况下)只是对该服务器上的mongod个实例的概述.从web浏览器向该端口发出的请求将显示服务器概览的HTML输出.

如果以不同的端口号(i.e.: 7777)开始mongod,则"监视器"端口将始终高出mongod0(i.e.: 8777).

如果你想要一些高级功能,比如通过网络浏览器进行查询的能力,你可以从--restswitch 开始.然后,您将能够使用一个简单的http get requestlink text(http://localhost:8777/mydb/mycollection/?filter_a=1)运行某些查询.

如果您使用的是特定语言的MongoDB驱动程序(就像大多数人一样).然后你会发现,你会有"连接字符串"的形式mongodb://user:pwd@host:port/.这些字符串的用途与其他数据库产品常用的连接字符串类似.

Mongodb相关问答推荐

如何限制/筛选子文档中的条目?

在单个mongo文档中组合数组与聚合

在对象mongodb的数组中查找元素

我无法在react 中使用 fetch 和express 从数据库中删除数据

在golang中的mongodb中的集合列表中打印集合

Nestjs中不同语言数据的mongodb聚合代码

mongoDB vs mySQL - 为什么在某些方面比另一个更好

获取收集字节使用情况统计信息的pymongo方法?

在 Nodejs 中找不到模块

如何在 $lookup Mongodb 的 LocalField 中将字符串转换为 objectId

具有多个字段的mongodb文本搜索

Node.js MongoDB Upsert 更新

查询 Mongoid/rails 3 中的嵌入对象(Lower than、Min 运算符和排序)

mongodb:upserting:仅在插入文档时设置值

MongoDB备份计划

MongoDB mongoexport 查询

'this' 在 Mongoose 预保存挂钩中未定义

用 MongoDB 中的属性表示多对多关系的最佳模型

PyMongo 创建具有 2 个或更多字段的唯一索引

哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js