基建-蒙戈德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的文档提供了如何使用多种认证的实例 连接字符串的数目.
您可以通过设置 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
设置
- 确保在mongodb上设置管理员用户。 要做到这一点,遵循指示 时间 维基文库中相关的原始文献: 维基语录链接:名人名言 - 分类 您的MongoDB版本。 目前支持版本6.x.
- [可选 调整您的工程配置设置; 见 配置 或者说 快速示例。 。 。 .
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。 。 。 .