Я запускаю 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, но ответа так и не получил.