首页 > 解决方案 > 使用 Mongo REST API 从 MongoDB Docker 容器中检索 json

问题描述

我在 Docker 上运行 MongoDB,我想使用 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 频道上提出了我的问题,但仍然没有得到任何答复。

标签: jsonmongodbrestdocker

解决方案


对于这个简单的 HTTP 接口,我看到用户在运行:

但它们似乎都已被弃用。

检查这个:MongoDB 3.6 中的兼容性更改

HTTP 接口和 REST API

MongoDB 3.6 删除了已弃用的 HTTP 接口和 MongoDB 的 REST API。


推荐阅读