@builder6/steedos
v3.2.12
Published
Builder6 Steedos 模块为 Builder6 平台提供直接的 MongoDB 数据库访问 API,允许管理员用户通过 RESTful 端点对自定义对象及其记录执行完整的 CRUD 操作。
Downloads
1,645
Keywords
Readme
Builder6 Steedos Module
Builder6 Steedos 模块为 Builder6 平台提供直接的 MongoDB 数据库访问 API,允许管理员用户通过 RESTful 端点对自定义对象及其记录执行完整的 CRUD 操作。
功能特性
- 直接数据库访问: 通过 REST API 直接访问 MongoDB 数据库
- 对象管理: 对任意自定义对象进行增删改查操作
- 高级查询: 支持复杂过滤、排序和分页
- DevExtreme 集成: 支持 DevExtreme 数据网格的高级查询功能
- 自动元数据: 自动注入创建者、修改者、时间戳等元数据
- 权限控制: 所有操作都需要管理员权限保护
- API 文档: 完整的 Swagger/OpenAPI 文档支持
安装
npm install @builder6/steedos或
yarn add @builder6/steedos主要 API
MongoDB 控制器 (/api/v6/direct)
提供标准的 REST API 操作:
- POST
/api/v6/direct/:objectName: 创建新记录 - GET
/api/v6/direct/:objectName: 查询记录列表 - GET
/api/v6/direct/:objectName/:recordId: 获取单条记录 - GET
/api/v6/direct/:objectName/:fieldName/:fieldValue: 根据字段值查询 - PUT
/api/v6/direct/:objectName/:recordId: 更新单条记录 - PUT
/api/v6/direct/:objectName/updateMany: 批量更新记录 - PUT
/api/v6/direct/:objectName/:fieldName/:fieldValue: 根据字段值更新 - DELETE
/api/v6/direct/:objectName/:recordId: 删除单条记录 - DELETE
/api/v6/direct/:objectName/deleteMany: 批量删除记录 - DELETE
/api/v6/direct/:objectName/:fieldName/:fieldValue: 根据字段值删除
DevExtreme 控制器 (/api/v6/devextreme)
支持 DevExtreme 数据网格的高级查询:
- GET
/api/v6/devextreme/:objectName: DevExtreme 数据网格查询 - 支持分组、汇总、复杂过滤等高级功能
查询参数
字段选择
GET /api/v6/direct/users?fields=name,email,created过滤查询
支持 MongoDB 风格的过滤条件:
GET /api/v6/direct/users?filters=[["status","=","active"],["age",">",18]]排序
GET /api/v6/direct/users?sort=name,-created分页
GET /api/v6/direct/users?top=20&skip=0使用示例
在 NestJS 应用中集成
import { Module } from '@nestjs/common';
import { SteedosModule } from '@builder6/steedos';
@Module({
imports: [SteedosModule],
})
export class AppModule {}创建记录
curl -X POST http://localhost:5100/api/v6/direct/contacts \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "[email protected]",
"phone": "1234567890"
}'查询记录
curl -X GET "http://localhost:5100/api/v6/direct/contacts?fields=name,email&filters=[[\"name\",\"contains\",\"John\"]]" \
-H "Authorization: Bearer YOUR_TOKEN"更新记录
curl -X PUT http://localhost:5100/api/v6/direct/contacts/RECORD_ID \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "0987654321"
}'自动元数据注入
每个记录操作会自动注入以下元数据:
created_by: 创建者用户 IDmodified_by: 修改者用户 IDcreated: 创建时间modified: 修改时间owner: 所有者用户 IDspace: 租户/工作区 ID
权限控制
所有 API 端点都受 AdminGuard 保护,只有管理员用户才能访问这些接口。
依赖项
Peer Dependencies
@builder6/core: ^3.0.10 - 核心功能模块@builder6/files: ^3.0.10 - 文件管理模块@builder6/moleculer: ^3.0.10 - 微服务框架@nestjs/common: ^11.0.0 - NestJS 核心@nestjs/core: ^11.0.0 - NestJS 核心@nestjs/swagger: ^11.0.7 - API 文档
开发
构建
npm run build监听模式
npm run build:watch格式化代码
npm run formatLicense
MIT
