MangoDBMongoDB 开源替代品

联合创作 · 2023-10-01 01:43

MangoDB 是 MongoDB 的开源替代品,它会将 MongoDB 的线协议查询转换为 SQL,并使用 PostgreSQL 作为数据库引擎。

MangoDB 兼容 MongoDB 的驱动,官方称其在许多情况下可作为 MongoDB 的直接替代品。

使用示例

1. 先在docker-compose.yml文件保存以下内容:

version: "3"

services:
  postgres:
    image: postgres:14
    container_name: postgres
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=user
      - POSTGRES_DB=mangodb
      - POSTGRES_HOST_AUTH_METHOD=trust

  postgres_setup:
    image: postgres:14
    restart: on-failure
    entrypoint: ["sh", "-c", "psql -h postgres -U user -d mangodb -c 'CREATE SCHEMA IF NOT EXISTS test'"]

  mangodb:
    image: ghcr.io/mangodb-io/mangodb:latest
    container_name: mangodb
    ports:
      - 27017:27017
    command: ["--listen-addr=:27017", "--postgresql-url=postgres://user@postgres:5432/mangodb"]

2. 通过postgres 容器运行存储数据的 PostgreSQL 14 数据库

3. 使用postgres_setup容器创建一个 PostgreSQL schematest,其作用类似于同名的 MangoDB 数据库

4. 使用mangodb 运行 MangoDB

5. 使用docker-compose up -d启动服务

6. 如果已经安装mongosh,只需运行它即可连接到 MangoDB 数据库test。如果没有,在临时 MongoDB 容器内运行运行以下命令mongosh,并将其附加到同一个 Docker 网络:

docker run --rm -it --network=mangodb_default --entrypoint=mongosh mongo:5 mongodb://mangodb/
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报