0

有没有办法在没有 java 驱动程序的情况下执行 mongo 查询,并在 java 中获取原始字符串响应?

mongo 服务器 <---> mongo 客户端使用什么协议?

谢谢!

4

2 回答 2

2

如果它只是关于查询不是插入、更新或删除操作),您可以使用流程中包含的简单 REST APImongod。它通常用于监控、警报脚本和管理任务

例子:

  • 要获取集合的内容:

    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来启用,但要注意安全隐患

检查详细信息以启用此功能。

于 2016-01-07T08:40:11.250 回答
2

Mongo Java 驱动程序使用“ MongoDB Wire 协议”。它是一个面向套接字的 BSON 通信协议。

例如,当您连接到不使用 SSL/TLS(TCP 端口 27017 的过滤器)的 MongoDB 数据库时,您可以在 Wireshark 中查看/检查它。

于 2016-01-07T08:45:12.787 回答