@bedrock/mongodb

中文文档
11.0.1发布于 2025/10/02Apache-2.0ES Module近 30 天下载 3759

Bedrock mongodb 模块

中文使用文档
文档目录13 节
  1. 所需资源
  2. 快速示例
  3. 配置
  4. 连接和认证
  5. 所需资源
  6. 设置
  7. API 密码
  8. 收藏
  9. 开放式集合( 收藏)
  10. 创建 GridFSBucket( 选项)
  11. 测试模式
  12. 初始化时放下收藏
  13. 许可证

基建-蒙戈德b

A 类 基石 模块创建简单的 MongoDB 数据库并提供 方便的 API 创建并与其收藏合作 .

所需资源

  • npm v9+ (英语)

快速示例

npm install @bedrock/mongodb

以下是一个在数据库准备好时简单地打开一个收藏的例子 然后运行查询并打印结果。 更常见的用于 模块 @bedrock/mongodb 就是暴露自己隐藏的API 使用它所打开的收藏的细节.

import * as bedrock from '@bedrock/core';
import * as database from '@bedrock/mongodb';

// custom configuration
bedrock.config.mongodb.name = 'my_project_dev'; // default: bedrock_dev
bedrock.config.mongodb.host = 'localhost';      // default: localhost
bedrock.config.mongodb.protocol = 'mongodb';    // default: mongodb
bedrock.config.mongodb.port = 27017;            // default: 27017
bedrock.config.mongodb.username = 'my_project'; // default: bedrock
bedrock.config.mongodb.password = 'password';   // default: password

// the mongodb database 'my_project_dev' and the 'my_project' user will
// be created on start up following a prompt for the admin user credentials

// alternatively, use `mongodb` URL format (preferred for deployments):
bedrock.config.mongodb.url = 'mongodb://localhost:27017/my_project_dev';

// open some collections once the database is ready
bedrock.events.on('bedrock-mongodb.ready', async function() {
  await database.openCollections(['collection1', 'collection2']);

  // do something with the open collection(s)
  const result = await database.collections.collection1.findOne({id: 'foo'});
  console.log('result', result);
});

bedrock.start();

配置

关于数据库配置的文件,见 配置( j)。 。 。 .

连接和认证

MongoDB的文档提供了如何使用多种认证的实例 连接字符串的数目.

Mongo 节点驱动程序连接文件

您可以通过设置 URL 连接 :

config.mongodb.url = 'mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin';

您也可以使用一些小的更改连接到访问启用的 Mongo 服务器 config.mongodb.connectOptions然而 config.mongodb.url 选项高度 最好而且应涵盖大多数使用情况:

import {config} from '@bedrock/core';

config.mongodb.username = 'me';
config.mongodb.password = 'password';
config.mongodb.protocol = 'mongodb+srv';
const {connectOptions} = config.mongodb;
// optional, only required if connecting to a replicaSet
connectOptions.replicaSet = 'my_provider_replica_set';
// optional, but required in production by many providers
connectOptions.ssl = true;
// optional, only required if your provider requires tls
connectOptions.tls = true;
// the `authSource` option replaces the older `authDB` option
// it should be specified or else it will be the `mongodb.name`
connectOptions.authSource = 'my_provider_auth_db';

MongoDB 提供 关于连接字符串的优秀文件

所需资源

  • Linux 或 Mac OS X( 也在 Windows 上工作, 并带有一些coaxing)
  • 节点.js >= 20.x
  • npm >= 10.x
  • >= 6.x
  • libkrb5-dev >= 1.x.x

设置

  1. 确保在mongodb上设置管理员用户。 要做到这一点,遵循指示 时间 维基文库中相关的原始文献: 维基语录链接:名人名言 - 分类 您的MongoDB版本。 目前支持版本6.x.
  2. [可选 调整您的工程配置设置; 见 配置 或者说 快速示例。 。 。 .

API 密码

收藏

对象的密钥为已收藏的名称 通过 openCollections。 。 。 .

开放式集合( 收藏)

打开一组收藏( 必要时创建) , 如果还没有 打开。 一旦所有藏品都打开了 返回的诺言就决定了 若为 发生错误,返回的许诺拒绝。 如果没有出错, 那么一次 承诺决定 collections 对象将有匹配 集合名称和值为实例 僧侣本土 收藏。 。 。 .

创建 GridFSBucket( 选项)

创建并返回新的 GridFSBucket 从本地司机。 选项是 与 GridFSBucket。使用当前客户端并使用 writeConcern 选项默认为 writeOptions 配置值 .

测试模式

初始化时放下收藏

在进行测试时,通常最好在 开始试运行. 可通过下列方式做到这一点: 配置参数 补充 以指定测试参数 命令线 项目中的测试配置应当 总是 指定一个 团结 mongodb数据库.

// Always specify a unique mongodb database for testing
bedrock.config.mongodb.name = 'my_project_test';
bedrock.config.mongodb.host = 'localhost';
bedrock.config.mongodb.port = 27017;
bedrock.config.mongodb.username = 'test'; // default: bedrock
bedrock.config.mongodb.password = 'password';
// drop collections on initialization
bedrock.config.mongodb.dropCollections.onInit = true;
// if 'onInit' is specified, 'collections' must also be specified
// if collections is an empty array, ALL collections will be dropped
bedrock.config.mongodb.dropCollections.collections = [];

许可证

Apache 许可证,2.0版本 版权所有 2011-2024 Digital Bazaar, Inc.

其他贝德罗克图书馆可使用非商业许可证 诸如自学、研究、个人项目或评价目的. 见 Bedrock 非商业许可证 v1.0 详细情况.

商业许可证和通过联系获得支助 数字集市 支持@ digitalbazaar.com。 。 。 .

版本与发布记录

@bedrock/mongodb 共发布 8 个版本,首次发布于 2022/04/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
11.0.1latest2025/10/021.1 年前
11.0.02025/03/081.7 年前
10.2.02024/02/292 年前
10.1.02022/09/024 年前
10.0.12022/08/304 年前
10.0.02022/04/294 年前

关于 @bedrock/mongodb 的常见问题

@bedrock/mongodb 是什么?

Bedrock mongodb 模块

如何安装 @bedrock/mongodb?

在项目目录运行 npm install @bedrock/mongodb,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@bedrock/core(^6.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bedrock/mongodb 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/bedrock__mongodb 是否存在。

@bedrock/mongodb 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bedrock/mongodb 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bedrock/mongodb 可以商用吗?

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

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

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

@bedrock/mongodb 还在维护吗?

最新版本 11.0.1 发布于 2025/10/02(1.1 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/04/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。