Logo of mongoz

mongoz

零配置 MongoDB 服务器

适用于 Node.js 的零配置 MongoDB 服务器

为什么?

MongoDB 非常棒,但对于小型项目来说,设置可能非常麻烦。

这个小包做了所有必要的事情来下载并启动一个全新的 MongoDB 服务器!

用法

注意: 您需要提前安装 Node.jsnpm

注意: 确保本地没有 MongoDB 服务器正在默认端口 (27017) 上监听。如果存在,请停止它,或者使用 MONGO_PORT 环境变量来更改端口。

独立服务器

我们来启动一个全新的数据库好吗?

npx mongoz

首次使用时,安装和解压 Mongo 服务器需要几秒钟。

编程使用

您需要以编程方式使用 MongoDB 服务器吗?没问题!

// CommonJS
const { startMongo } = require('mongoz')

// ESM
import { startMongo } from 'mongoz'

// Install and start listening MongoDB on 127.0.0.1:27017 in background
await startMongo()

// Or with options
await startMongo({ port: 27018 })

关闭服务器时,Mongo 也会通过 node-graceful-shutdown 优雅地关闭。

选项

  • name:唯一的实例名称。默认值为 default(环境变量:MONGO_NAME
  • dir:存储日志和数据的目录。默认值为 ${os.tmpDir}/mongo。(环境变量:MONGO_DIR
  • port:监听端口。默认值为 27017(环境变量:MONGO_PORTPORT
  • args 传递给 mongod 的附加参数(应为数组)
  • platform:要下载二进制文件的操作系统。

与脚本并行

您还可以使用 concurrently 与服务器并行启动 mongo:

通过 package.json

{
  "scripts": {
    "start": "concurrently 'npx mongoz' 'node ./server.mjs'"
  }
}

或直接使用 npx

npx concurrently 'npx mongoz' 'node ./server.mjs'

支持的平台

支持 Windows、Linux 和 Darwin (Mac)。详情请查看 formula

更改数据目录

默认情况下,我们使用一个临时目录来存储数据和日志。您可以使用 MONGO_DIR 环境变量进行自定义。

许可

MIT。

有关底层服务器许可,请参阅 MongoDB 许可