Builder6 Steedos 模块为 Builder6 平台提供直接的 MongoDB 数据库访问 API,允许管理员用户通过 RESTful 端点对自定义对象及其记录执行完整的 CRUD 操作。
Builder6 Steedos 模块为 Builder6 平台提供直接的 MongoDB 数据库访问 API,允许管理员用户通过 RESTful 端点对自定义对象及其记录执行完整的 CRUD 操作。
- 直接数据库访问: 通过 REST API 直接访问 MongoDB 数据库
- 对象管理: 对任意自定义对象进行增删改查操作
- 高级查询: 支持复杂过滤、排序和分页
- DevExtreme 集成: 支持 DevExtreme 数据网格的高级查询功能
- 自动元数据: 自动注入创建者、修改者、时间戳等元数据
- 权限控制: 所有操作都需要管理员权限保护
- API 文档: 完整的 Swagger/OpenAPI 文档支持
``bash`
npm install @builder6/steedos
或
`bash`
yarn add @builder6/steedos
提供标准的 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 数据网格的高级查询:
- GET /api/v6/devextreme/:objectName: DevExtreme 数据网格查询
- 支持分组、汇总、复杂过滤等高级功能
`bash`
GET /api/v6/direct/users?fields=name,email,created
支持 MongoDB 风格的过滤条件:
`bash`
GET /api/v6/direct/users?filters=[["status","=","active"],["age",">",18]]
`bash`
GET /api/v6/direct/users?sort=name,-created
`bash`
GET /api/v6/direct/users?top=20&skip=0
`typescript
import { Module } from '@nestjs/common';
import { SteedosModule } from '@builder6/steedos';
@Module({
imports: [SteedosModule],
})
export class AppModule {}
`
`bash`
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": "john@example.com",
"phone": "1234567890"
}'
`bash`
curl -X GET "http://localhost:5100/api/v6/direct/contacts?fields=name,email&filters=[[\"name\",\"contains\",\"John\"]]" \
-H "Authorization: Bearer YOUR_TOKEN"
`bash`
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 保护,只有管理员用户才能访问这些接口。
- @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 文档
`bash`
npm run build
`bash`
npm run build:watch
`bash``
npm run format
MIT