MangoDB

MongoDB 开源替代品
授权协议 Apache
开发语言 Google Go
所属分类 数据库相关、 NoSQL数据库
软件类型 开源软件
地区 不详
投 递 者 尹正奇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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/
  • MongoDB是一款开源的分布式架构的NoSQL数据库管理系统。在前面的NoSQL和SQL对比学习中,我们知道了NoSQL数据库系统和传统的RDBMS的不同和优点 1、MongoDB优点 可以简单列举MongoDB一些明显的主要的优点 速度:MongoDB比一般的关系型数据库快很多,作为面向文档的NoSQL数据库,MongoDB可以通过索引使访问文档变得很容易而且快速 分片:MongoDB另外一个

  • 基础篇(能解决工作中80%的问题): MongoDB的概述、应用场景、下载方式、连接方式和发展历史等 MongoDB数据类型、重要概念以及shell常用指令 MongoDB文档的各种增加、更新、删除操作总结 MongoDB各种查询操作总结 MongoDB对列的各种操作总结 MongoDB中的索引操作总结 进阶篇: MongoDB聚合操作总结 MongoDB的导入导出、备份恢复总结 MongoDB的

 相关资料
  • 问题内容: oracle一致性是否有任何开源替代方案? (顺便说一句,连贯性要花多少钱?) 问题答案: EhCache提供了不错的复制缓存,但与Coherence提供的功能集相去甚远。

  • 由于使用RSAPublicKeyImpl,我收到了一些警告: 警告:RSAPublicKeyImpl是内部专有API,可能会在将来的版本导入sun.security.rsa.RSAPublicKeyImpl中删除; 我试图找到一个替代者,但没有运气。这门课的开源替代方案是什么?

  • 问题内容: 问题 在解决这个问题之后,似乎基于文件或磁盘的实现可能是解决我在此处提到的问题的正确解决方案。精简版: 目前,我已将实施为。 条目以相当固定的速率连续添加到其中。稍后对此进行详细说明。 最终,无论如何,这意味着JVM耗尽了堆空间。 在工作中,(强烈)建议我使用SQLite解决此问题,但是在问了上一个问题之后,我认为数据库不是适合此工作的合适工具。所以- 让我知道这听起来是否疯狂 -我认

  • 问题内容: 这是一个从来没有一个正确答案的问题,我已经在网上搜索了很多次,却找不到解决方案。 它适用于Firefox,Chrome。我的responseText将像Réunion这样返回char,它将显示为奇怪的符号。 我尝试了许多方法,例如编码和解码,在响应文件中设置标头都无效。我没主意了。请帮助某人。 在主文件中,确保设置了内容类型和字符集。 在您的AJAX加载页面中,确保您位于顶部。 问题解

  • null 代码如下所示: 和我想提高的班级: 我该怎么办?每个字段都在使用,但每个触发器都在使用。另外,这种情况有点特殊(OnFinalMethod需要参数)。基于上面的文章,我尝试重构这段代码,但没有成功。 你知道吗?:)

  • 问题内容: 我正在尝试设置grunt.js文件,以便它仅在生产服务器上运行时才运行任务- 在本地开发服务器上运行时,我不需要每次更改都不需要我的代码,因为这是不必要的。 关于grunt.js如何区分开发/生产环境的任何想法? 问题答案: 注册生产任务: 在开发服务器上运行,在生产上运行。 您还可以为每个任务设置更精细的目标:

  • 问题内容: 首先-我的描述;) 我从服务器收到XmlHttpRequests JSON响应。MySQL驱动程序将所有数据输出为字符串,PHP将其按原样返回,因此任何整数都将作为字符串返回,因此: JS中的parseInt()函数是否有任何快速替代方法(hack),可以解析纯数字字符串,例如 问题答案: 要转换为整数,只需使用一元+运算符,它应该是最快的方法: 可以通过类似的方式转换为其他类型: 更

  • 问题内容: 我有以下内容: 和 终于我有了 如果我做 和P元帅,我只是把田野当作事物的一部分,而不是高度。 我知道我可以在A中添加@XmlSeeAlso(B.class),这一切都可以。 但是问题是我不知道B以外的所有扩展类,因为A可能在运行时扩展。 如何在运行时动态定义@XmlSeeAlso? 问题答案: 这取决于您如何创建JAXBContext。该newInstance方法可以与所有的类的显式