# @bluelibs/nova 中文文档

规范地址：https://npmcn.com/package/%40bluelibs/nova/

版本：1\.9\.0
npm 元数据更新时间：2026-02-04T03:51:40.440Z
中文译文更新时间：2026-11-08T09:39:44.908Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bluelibs/nova
原文对照：https://npmcn.com/package/%40bluelibs/nova/?lang=original
项目主页：https://github.com/bluelibs/bluelibs#readme
源码仓库：https://github.com/bluelibs/bluelibs

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：409 kB，136 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：mongodb ^4\.0\.0 \|\| ^5\.0\.0 \|\| ^6\.0\.0
- 首次发布：2021-08-04T14:17:16.761Z
- 最新版本发布：2026-02-04T03:51:40.323Z
- 近 30 天下载量：1827（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 1 个）

## 中文简介

Nova 是 MongoDB 节点驱动程序上的一个关系查询层

## 安装

```sh
npm install @bluelibs/nova
```

也可以使用：`pnpm add @bluelibs/nova`、`yarn add @bluelibs/nova`、`bun add @bluelibs/nova`

## README

# BlueLibs NOVA (英语)

 [![](https://api.travis-ci.org/bluelibs/nova.svg?branch=master)](https://travis-ci.org/bluelibs/nova)[![](https://coveralls.io/repos/github/bluelibs/nova/badge.svg?branch=master)](https://coveralls.io/github/bluelibs/nova?branch=master)

  
  

Nova是MongoDB节点驱动器上方的取取取层,它允许SQL-可比较的速度来取回关系数据.

GraphQL通过提供将GraphQL查询转换为Nova查询的能力,作为一等公民对待. **您不必使用 GraphQL 来使用此库**。 。 。 .

令人难以置信的提速是可能的 得益于叫做"超新星"的技术 你可以读到更多关于它的内容 [文档中](https://npmcn.com/package/%40bluelibs/nova/docs/index.md#hypernova)。 。 。 .

## 它能解决什么?

-   使用MongoDB作为关系数据库的乐趣
-   支持关系过滤和排序
-   各种情景中超过 SQL 的速度
-   关联文档使用的带宽低于 SQL
-   默认的 MongoDB 节点驱动程序
-   图QL 超级轻量级集成

## [文档](https://npmcn.com/package/%40bluelibs/nova/DOCUMENTATION.md)

[点击这里查看文档](https://npmcn.com/package/%40bluelibs/nova/DOCUMENTATION.md)

## 样本

```js
import { query, manyToOne } from "@bluelibs/nova";

async function test() {
  const Post = await db.createCollection("Post");
  const Comments = await db.createCollection("Comments");

  manyToOne(Comments, Post, {
    // will automatically read from postId inside Comments
    linkName: "post",
    inversedLinkName: "comments",
  }); // also available manyToMany and manyToOne

  query(Post, {
    $: {
      filters: {
        isApproved: true
      }
    }
    title: 1,
    comments: {
      name: 1
    }
  })
}
```

## [图QL](https://npmcn.com/package/%40bluelibs/nova/docs/index.md#graphql-integration)

```js
import { query } from "@bluelibs/nova";

const Query = {
  // Automatically fetches everything in the minimum amount of queries
  users(_, args, ctx, info) {
    return query.graphql(Posts, info).fetch();
  },
};
```

## 支助

此软件包是 [蓝盾](https://www.bluelibs.com/) 和家人一样 如果你喜欢这部作品 请通过主演显示你的支持 [主软件包](https://github.com/bluelibs/bluelibs)如果不行,让我们知道我们该做什么才能得到它, [我们的反馈表在这里](https://forms.gle/DTMg5Urgqey9QqLFA)

## 常见问题

### @bluelibs/nova 是什么？

Nova 是 MongoDB 节点驱动程序上的一个关系查询层

### 如何安装 @bluelibs/nova？

在项目目录运行 npm install @bluelibs/nova，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：mongodb（^4\.0\.0 \|\| ^5\.0\.0 \|\| ^6\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bluelibs/nova 支持 TypeScript 吗？

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

### @bluelibs/nova 支持 ESM 还是 CommonJS？

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

### @bluelibs/nova 可以商用吗？

@bluelibs/nova 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bluelibs/nova 的下载量有多少？

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

### @bluelibs/nova 还在维护吗？

最新版本 1\.9\.0 发布于 2026/02/04（9 个月前）；至今共发布 28 个版本，其中过去 12 个月发布了 1 个；首次发布于 2021/08/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

