【发布时间】:2016-01-07 07:51:01
【问题描述】:
有没有什么方法可以在没有java驱动的情况下执行mongo查询,并在java中获取原始字符串响应?
mongo服务器使用什么协议 mongo客户端?
谢谢!
【问题讨论】:
标签: java mongodb mongo-java-driver
有没有什么方法可以在没有java驱动的情况下执行mongo查询,并在java中获取原始字符串响应?
mongo服务器使用什么协议 mongo客户端?
谢谢!
【问题讨论】:
标签: java mongodb mongo-java-driver
如果只是关于查询(不是插入、更新或删除操作),您可以使用包含在mongod 进程中的simple REST API。
它通常用于监控、警报脚本和管理任务
例子:
要获取集合的内容:
http://127.0.0.1:28017/databaseName/collectionName/
添加限制:
http://127.0.0.1:28017/databaseName/collectionName/?limit=-10
跳过:
http://127.0.0.1:28017/databaseName/collectionName/?skip=5
查询 {a : 1}:
http://127.0.0.1:28017/databaseName/collectionName/?filter_a=1
根据 mongo 的文档:
默认情况下禁用此 API,因为它可以提供未经身份验证的数据访问。在命令行上使用 --rest 来启用,但要注意安全隐患
选中details 以启用此功能。
【讨论】:
Mongo Java 驱动程序使用“MongoDB Wire protocol”。 它是一个面向套接字的 BSON 通信协议。
当您连接到不使用 SSL/TLS(过滤 TCP 端口 27017)的 MongoDB 数据库时,您可以在 Wireshark 中查看/检查它。
【讨论】: