json - 使用 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 频道上提出了我的问题,但仍然没有得到任何答复。
解决方案
对于这个简单的 HTTP 接口,我看到用户在运行:
但它们似乎都已被弃用。
检查这个:MongoDB 3.6 中的兼容性更改
HTTP 接口和 REST API
MongoDB 3.6 删除了已弃用的 HTTP 接口和 MongoDB 的 REST API。
推荐阅读
- python - 如何在访问请求上下文时从 Flask 发送服务器端事件?
- sql - 如何在sql中插入SUM条件?
- scala - Scala 中的 protobuf 解组错误,抛出 com.google.protobuf.InvalidProtocolBufferException
- python - 如何在 Ubuntu14.04 中将 Pycharm 解释器更改为 3.7?
- numpy-ndarray - 如何更改数组切片的轴?
- pandas - 行中有值,但数据框返回 Nan
- python - 如何安排kivy相机连续读取纹理?
- database - 当我使用 AWS 基础设施时,将 pdf 文件存储在云上的经济高效的解决方案是什么?
- c++ - 使用 C++,将 int 转换为 char 总是有 3 位数的问题
- python - NGINX 服务器块无法按预期工作