我创建了一个小型MongoDB v2.6.4群集,其中包含一个 mongos 路由器,三个配置服务器和一些 mongod 数据服务器。它工作正常,我可以从mongos客户端进行CRUD操作,该客户端指向适当的分片。
我现在想要尝试其余的服务。
当我使用 mongod 对单个MongoDB数据服务器进行尝试时,它完全按照规定运行。
即使是现在,我也可以连接到与--rest
一起运行的每个分片并获得Web响应。但是,结果有点出乎意料。我看到概述,客户端,dbtop,写锁,日志等。如果我点击listDatabase,我实际上看到我的数据库已列出。但是,我尝试的任何REST尝试都返回一个JSON对象,显示的是0,没有行,总共0个roes,没有查询和0毫秒。
目前我认为这无关紧要,因为我直接连接到一个碎片并且预计只会看到碎片的内容 - 尽管进一步的实验已经无法生成结果。
同样,我要强调的是,在当前的分片配置中, mongos ,NodeJS和PHP都可以很好地查看,查询和操作MongoDB集合中的数据。
然而,我正在尝试做的事情(如果它甚至可能)是通过REST连接到mongos
分片服务,因为它确实提供了--httpinterface
选项,认为它将公开访问碎片并做正确的事。
它提供标准状态页面,但是点击任何链接或手动滚动任何REST会导致关于--rest
未启用的消息以及我应该启用它。
REST is not enabled, use --rest to turn on.
check that port 28017 is secured for the network too.
问题是, mongos 不允许这样做! ( mongod,但)
RESTInterfaceEnabled: true
的配置文件,但它没有帮助。--shardsvr
运行mongod),并直接连接到它们 提供REST访问。我可能错过了什么?这甚至可能吗?有什么想法吗?
答案 0 :(得分:2)
AFAIK REST接口主要用于监控/管理以不访问文档。 MongoDB不提供官方REST接口来进行CRUD操作。为此,您需要创建自己的或在生态系统中找到一个库来执行此操作,请查看http://docs.mongodb.org/ecosystem/tools/http-interfaces/
您是否有特定的要求/需求?
PS:我在任何部署/开发中都没有使用--rest参数。