Использование Mongo REST API для извлечения json из контейнера MongoDB Docker - PullRequest
0 голосов
/ 04 июня 2019

Я запускаю MongoDB в Docker и хочу использовать Mongo REST API для получения содержимого коллекции. Но это не работает для меня.

cvedb - это база данных, а cpe - это коллекция, которая существует в базе данных.

Ниже приведена деталь Docker:

$ docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS                                                      NAMES
2c9b7cbb9346        mongo                         "docker-entrypoint.s…"   16 hours ago        Up 16 hours                 0.0.0.0:27017->27017/tcp, 0.0.0.0:28017->28017/tcp         mongodb

Ниже приводится подробное описание MongoDB

# mongo 
MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e2b36132-09a2-4896-8c8f-795d76458099") }
MongoDB server version: 4.0.10
>

Ниже приведены сведения о базе данных и коллекции

> show dbs
admin   0.000GB
config  0.000GB
cvedb   0.394GB
local   0.000GB
> use cvedb
switched to db cvedb
> show collections
capec
cpe
cpeother
cves
cwe
info
mgmt_blacklist
mgmt_whitelist
via4
> 

После подробного сбора cpe из базы данных.

> use cvedb
switched to db cvedb
> db.cpe.findOne()
{
    "_id" : ObjectId("5a37233cead335ae043608a7"),
    "id" : "cpe:2.3:a:%240.99_kindle_books_project:%240.99_kindle_books:6:-:-:-:-:android",
    "title" : "$0.99 Kindle Books project $0.99 Kindle Books (aka com.kindle.books.for99) for android 6.0",
    "cpe_2_2" : "cpe:/a:%240.99_kindle_books_project:%240.99_kindle_books:6::~~~android~~",
    "references" : [
        "https://play.google.com/store/apps/details?id=com.kindle.books.for99",
        "https://docs.google.com/spreadsheets/d/1t5GXwjw82SyunALVJb2w0zi3FoLRIkfGPc7AMjRF0r4/edit?pli=1#gid=1053404143"
    ]
}
>  exit

Но, когда я делаю завиток, я получаю следующий ответ.

# curl http://127.0.0.1:28017/cvedb/cpe/
curl: (7) Failed to connect to 127.0.0.1 port 28017: Connection refused

В идеале, в ответ на curl я должен получить ответ из коллекции базы данных. Чего мне не хватает?

Я разместил свой вопрос на канале MongoDB Slack, но ответа так и не получил.

1 Ответ

1 голос
/ 04 июня 2019

Для этого простого HTTP-интерфейса я видел пользователей, работающих:

но они оба кажутся устаревшими.

Проверьте это: Изменения совместимости в MongoDB 3.6

HTTP-интерфейс и REST API

MongoDB 3.6 удаляет устаревший интерфейс HTTP и REST API для MongoDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...