2016-01-07 2 views

ответ

2

Если это только запрашивая (не вставлять, обновлять или удалять операции), вы можете использовать simple REST API включены в mongod процесса. Она обычно используется для мониторинга, оповещения сценариев и задач администрирования

Примеры:

  • Чтобы получить содержимое коллекции:

    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

  • Чтобы запросить {а: 1}:

    http://127.0.0.1:28017/databaseName/collectionName/?filter_a=1

Согласно документации Монго в:

Это API отключен по умолчанию, поскольку он может обеспечить неавторизованный доступ к данным. Используйте --rest в командной строке, чтобы включить, но знать о последствиях безопасности

Проверить details, чтобы включить этот.

+0

Это API, предоставляемый MongoDB, но AFAIK не тот, который используется драйвером Java MongoDB (по крайней мере, в текущей версии) – Robert

+0

@Robert Я не сказал, что он используется драйвером Java MongoDB. –

+0

@Robert OP хочет выполнить запрос mongo без java-драйвера. Таким образом, REST может быть способом. –

1

Драйвер Mongo Java использует «MongoDB Wire protocol». Это протокол связи BSON, ориентированный на сокет.

Вы можете просмотреть/изучить его, например, в Wireshark при подключении к базе данных MongoDB, которая не использует SSL/TLS (фильтр для TCP-порта 27017).

Смежные вопросы