@antelopejs/mongodb

中文文档
1.6.2发布于 2026/11/05Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 5834

羚羊JS的MongoDB后端,与官方的MongoDB驱动程序执行数据库和MongoDB接口

中文使用文档
文档目录9 节
  1. 接口
  2. 安装
  3. 配置
  4. 快开始
  5. 存储布局
  6. 文档
  7. 兼容性
  8. 捐款
  9. 许可证

@antelopejs/mongodb

npm License Discord Documentation

羚羊JS的蒙哥DB后端. 它和官员一起运行MongoDB数据库接口的查询 mongodb 驱动程序,并将驱动程序的客户端提供给直接需要的模块.

部分 羚羊JS用于 羚羊JS 隐形物,用于您的 PostgreSQL 、 MongoDB 或 RethinkDB 数据库的开源后台.

接口

接口文档
@antelopejs/interface-database数据库
@antelopejs/interface-mongodb蒙戈DB
@antelopejs/interface-database-catalog外部模式

数据库界面页面文档计划,表格,查询,变化素材,以及原子突变.

安装

ajs project modules add @antelopejs/mongodb

命令写入模块的默认配置. 它连接到 mongodb://localhost:27017 并使用数据库 antelopejs。 。 。 .

配置

import { defineConfig } from "@antelopejs/interface-core/config";

export default defineConfig({
  name: "my-project",
  modules: {
    mongodb: {
      source: {
        type: "package",
        package: "@antelopejs/mongodb",
        version: "^1.4.2",
      },
      config: {
        url: "mongodb://localhost:27017/?replicaSet=rs0",
        database: "my-project",
        options: { maxPoolSize: 10 },
      },
    },
  },
  envOverrides: {
    MONGODB_URL: "modules.mongodb.config.url",
  },
});
密钥说明
urlMongoDB 连接字符串 .
database存储每个计划库的数据库.
options可选 MongoClientOptions 模块传递给驱动程序.
modeowned (默认)或 external一个自有实例创建了自己的收藏,并将其范围扩大到实例。 一个外部实例为它没有创建的数据库服务。 见 外部模式。 。 。 .
statementTimeoutMs每个外部实例的可选服务器侧时限, 以 maxTimeMS。它必须是正的安全整数.
catalog{ enabled?: boolean }设置外部实例是否解答外部开发目录 .

外部实例需要非空 url 财务报告和审定财务报表 database。它读取和撰写客户端自己收藏的文档,并且从未改变其结构。 见 外部模式。 。 。 .

更改种子使用 MongoDB 更改流,这些流需要复制集 。 单节点复制集在开发中已经足够了.

快开始

在存储数据的模块中,添加数据库接口:

pnpm add @antelopejs/interface-database

那就跟着 数据库接口指南 以宣布一个计划并查询。 同样的代码运行在 @antelopejs/postgres 财务报告和审定财务报表 @antelopejs/rethinkdb。 。 。 .

直接给司机打电话,请添加 @antelopejs/interface-mongodb数字 :

import { GetClient } from "@antelopejs/interface-mongodb";

const client = await GetClient();
const users = client.db("my-project").collection("users");

存储布局

  • 每个计划表都是一个集合, <schemaId>__<table>,每个例子的 计划分享。 每个文档将其实例存储于 _instance。 。 。 .
  • _id 因此使用全球独特的记录身份.
  • 每个已宣布的索引 <name> 成为MongoDB 索引 <name>__i 他们的第一个领域是 _instance中的索引 crossInstance: true 也获得索引 <name> 无前缀,用于 CROSS_INSTANCE 查询。 没有它,这些查询仍然有效,但是他们不能使用一个索引并记录每个索引一次的警告.
  • 已声明索引 unique: true 实现 <name>__i 索引独有,所以每个实例都有一个键。 交叉指数从来不是独一无二的. 换旗会重建索引. 创建独有索引失败, 而实例有重复 。 Schema初始化后记录出错并重试,直到去除.
  • 当MongoDB拒绝为重复的密钥写作时( 代码 1100) _id 或在一个独特的索引上,模块将 DuplicateKeyError 的界面.
  • 原子突变使用第二个客户端 retryWrites 财务报告和审定财务报表 retryReads 关了.

Schema初始化只在两个案例中降低一个指数. 该索引有模块在MongoDB中给出的宣布索引的名称(<name>__i,或 <name> 用于交叉索引),但其他字段或其他独有性。 或者该指数有这样一个指数的领域,但另一个独特性。 任何其他指数,例如指数 <name> 与所宣布的字段相对 _instance。要删除一个没有计划声明的索引,请手动删除,例如 db.getCollection("<schemaId>__<table>").dropIndex("<name>")。 。 。 .

文档

  • 数据库 文档 @antelopejs/interface-database 与本模块执行的合同.
  • 蒙戈DB 文档 @antelopejs/interface-mongodb 与本模块执行的合同.
  • 外部模式 解释模块如何服务于它没有创建的数据库及其目录.
  • 配置 文档模块来源, config 区块和配置变量 antelope.config.ts。 。 。 .

兼容性

软件包支助测试过
@antelopejs/interface-core>=0.2.4 <1.0.00.2.4
@antelopejs/interface-database>=0.3.0 <0.4.00.3.0
@antelopejs/interface-database-catalog>=0.0.3 <0.1.00.0.3
@antelopejs/interface-mongodb>=0.0.6 <1.0.00.0.6

.nvmrc 设置用于开发的节点。 这个 dependencies 联 合 国 package.json 设置 mongodb 驾驶员. MONGODB_VERSION 内 src/test/antelope.test.ts 设置 MongoDB 服务器发布测试复制集.

捐款

pnpm install
pnpm lint
pnpm format:check
pnpm knip
pnpm test           # build, then run the owned and external suites against an in-memory replica set

测试开始于 MongoDB mongodb-memory-server,在第一次运行时下载服务器二进制。 他们还管理着一套共用的相配套装 @antelopejs/interface-database。 。 。 .

读取 捐款准则 在你打开拉动请求之前.

许可证

阿帕奇 - 2.0

版本与发布记录

@antelopejs/mongodb 共发布 32 个版本,首次发布于 2025/05/09;过去 12 个月发布了 30 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.6.2latest2026/11/051 天前
1.6.12026/11/051 天前
1.6.02026/10/298 天前
1.5.12026/10/2611 天前
1.5.02026/10/2413 天前
1.4.42026/10/2314 天前

关于 @antelopejs/mongodb 的常见问题

@antelopejs/mongodb 是什么?

羚羊JS的MongoDB后端,与官方的MongoDB驱动程序执行数据库和MongoDB接口

如何安装 @antelopejs/mongodb?

在项目目录运行 npm install @antelopejs/mongodb,或使用 pnpm add / yarn add / bun add。

@antelopejs/mongodb 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@antelopejs/mongodb 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@antelopejs/mongodb 可以商用吗?

@antelopejs/mongodb 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@antelopejs/mongodb 的下载量有多少?

根据 npm 官方下载统计,@antelopejs/mongodb 在 2026/10/06 – 2026/11/04 这 30 天内被下载 5,834 次,日均约 194 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@antelopejs/mongodb 还在维护吗?

最新版本 1.6.2 发布于 2026/11/05(1 天前);至今共发布 32 个版本,其中过去 12 个月发布了 30 个;首次发布于 2025/05/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。