Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
赵月辉
/
fastgpt-migrated
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
16a74c90
authored
Aug 04, 2025
by
Archer
Committed by
GitHub
Aug 04, 2025
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: doc preview action;update doc (#5383)
* fix: doc preview action * update doc * dpc
parent
61899d9b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
41 additions
and
76 deletions
+41
-76
.github/workflows/docs-preview.yml
+2
-6
document/content/docs/introduction/development/openapi/share.mdx
+22
-50
document/content/docs/upgrading/4-8/464.mdx
+2
-4
document/content/docs/upgrading/4-8/467.mdx
+2
-2
document/content/docs/upgrading/4-8/469.mdx
+1
-1
document/content/docs/upgrading/4-9/490.mdx
+2
-3
document/content/docs/upgrading/4-9/492.mdx
+6
-4
document/content/docs/use-cases/external-integration/openapi.mdx
+3
-4
document/data/doc-last-modified.json
+0
-0
packages/service/support/wallet/usage/schema.ts
+1
-2
No files found.
.github/workflows/docs-preview.yml
View file @
16a74c90
...
@@ -19,12 +19,8 @@ jobs:
...
@@ -19,12 +19,8 @@ jobs:
steps
:
steps
:
-
name
:
Checkout
-
name
:
Checkout
uses
:
actions/checkout@v4
uses
:
actions/checkout@v4
with
:
-
name
:
Rewrite image paths
ref
:
${{ github.event.pull_request.head.sha }}
run
:
|
find document/content/docs -name "*.mdx" -type f | while read file; do
sed -i 's|](/imgs/|](https://cdn.jsdelivr.net/gh/labring/fastgpt-img@main/|g' "$file"
done
-
name
:
Get current datetime
-
name
:
Get current datetime
id
:
datetime
id
:
datetime
...
...
document/content/docs/introduction/development/openapi/share.mdx
View file @
16a74c90
...
@@ -37,15 +37,14 @@ import { Alert } from '@/components/docs/Alert';
...
@@ -37,15 +37,14 @@ import { Alert } from '@/components/docs/Alert';


## 配置教程
## 配置教程
### 1. 配置身份校验地址
### 1. 配置身份校验地址


配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。
配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。
<Alert icon="🤖" >
<Alert icon="🤖">这里仅需配置根地址,无需具体到完整请求路径。</Alert>
这里仅需配置根地址,无需具体到完整请求路径。
</Alert>
### 2. 分享链接中增加额外 query
### 2. 分享链接中增加额外 query
...
@@ -62,7 +61,6 @@ import { Alert } from '@/components/docs/Alert';
...
@@ -62,7 +61,6 @@ import { Alert } from '@/components/docs/Alert';
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" >
<Tab value="请求示例" >
```bash
```bash
curl --location --request POST '{{host}}/shareAuth/init' \
curl --location --request POST '{{host}}/shareAuth/init' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/json' \
...
@@ -71,12 +69,10 @@ curl --location --request POST '{{host}}/shareAuth/init' \
...
@@ -71,12 +69,10 @@ curl --location --request POST '{{host}}/shareAuth/init' \
}'
}'
```
```
</Tab>
</Tab>
<Tab value="鉴权成功" >
<Tab value="鉴权成功" >
```json
```json
{
{
"success": true,
"success": true,
...
@@ -88,31 +84,25 @@ curl --location --request POST '{{host}}/shareAuth/init' \
...
@@ -88,31 +84,25 @@ curl --location --request POST '{{host}}/shareAuth/init' \
系统会拉取该分享链接下,uid 为 username123 的对话记录。
系统会拉取该分享链接下,uid 为 username123 的对话记录。
</Tab>
</Tab>
<Tab value="鉴权失败" >
<Tab value="鉴权失败" >
```json
```json
{
{
"success": false,
"success": false,
"message": "身份错误",
"message": "身份错误"
}
}
```
```
</Tab>
</Tab>
</Tabs>
</Tabs>
### 4. 编写对话前校验接口
### 4. 编写对话前校验接口
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" >
<Tab value="请求示例" >
```bash
```bash
curl --location --request POST '{{host}}/shareAuth/start' \
curl --location --request POST '{{host}}/shareAuth/start' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/json' \
...
@@ -122,12 +112,10 @@ curl --location --request POST '{{host}}/shareAuth/start' \
...
@@ -122,12 +112,10 @@ curl --location --request POST '{{host}}/shareAuth/start' \
}'
}'
```
```
</Tab>
</Tab>
<Tab value="鉴权成功" >
<Tab value="鉴权成功" >
```json
```json
{
{
"success": true,
"success": true,
...
@@ -137,27 +125,24 @@ curl --location --request POST '{{host}}/shareAuth/start' \
...
@@ -137,27 +125,24 @@ curl --location --request POST '{{host}}/shareAuth/start' \
}
}
```
```
</Tab>
</Tab>
<Tab value="鉴权失败" >
<Tab value="鉴权失败" >
```json
```json
{
{
"success": false,
"success": false,
"message": "身份验证失败",
"message": "身份验证失败"
}
}
```
```
```json
```json
{
{
"success": false,
"success": false,
"message": "存在违规词",
"message": "存在违规词"
}
}
```
```
</Tab>
</Tab>
</Tabs>
</Tabs>
...
@@ -165,7 +150,7 @@ curl --location --request POST '{{host}}/shareAuth/start' \
...
@@ -165,7 +150,7 @@ curl --location --request POST '{{host}}/shareAuth/start' \
该接口无规定返回值。
该接口无规定返回值。
响应值与[chat 接口格式相同](/docs/
development/openapi/chat
/#响应),仅多了一个`token`。
响应值与[chat 接口格式相同](/docs/
introduction/development/openapi/intro
/#响应),仅多了一个`token`。
重点关注:`totalPoints`(总消耗AI积分),`token`(Token消耗总数)
重点关注:`totalPoints`(总消耗AI积分),`token`(Token消耗总数)
...
@@ -285,7 +270,7 @@ type ResponseType = {
...
@@ -285,7 +270,7 @@ type ResponseType = {
pluginDetail?: ChatHistoryItemResType[]; // 插件详情
pluginDetail?: ChatHistoryItemResType[]; // 插件详情
isElseResult?: boolean; // 判断器结果
isElseResult?: boolean; // 判断器结果
}
}
;
```
```
## 实践案例
## 实践案例
...
@@ -296,87 +281,75 @@ type ResponseType = {
...
@@ -296,87 +281,75 @@ type ResponseType = {


<Tabs items={['/shareAuth/init','/shareAuth/start','/shareAuth/finish']}>
<Tabs items={['/shareAuth/init','/shareAuth/start','/shareAuth/finish']}>
<Tab value="/shareAuth/init" >
<Tab value="/shareAuth/init" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。(实际生产中不建议固定写死)
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。(实际生产中不建议固定写死)
```ts
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud'
;
export default async function (ctx: FunctionContext) {
export default async function (ctx: FunctionContext) {
const { token } = ctx.body
const { token } = ctx.body
;
// 此处省略 token 解码过程
// 此处省略 token 解码过程
if (token === 'fastgpt') {
if (token === 'fastgpt') {
return { success: true,
data: { uid: "user1" } }
return { success: true,
data: { uid: 'user1' } };
}
}
return { success: false,
message:"身份错误" }
return { success: false,
message: '身份错误' };
}
}
```
```
</Tab>
</Tab>
<Tab value="/shareAuth/start" >
<Tab value="/shareAuth/start" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。并且如果问题中包含了`你`字,则会报错,用于模拟敏感校验。
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。并且如果问题中包含了`你`字,则会报错,用于模拟敏感校验。
```ts
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud'
;
export default async function (ctx: FunctionContext) {
export default async function (ctx: FunctionContext) {
const { token, question } = ctx.body
const { token, question } = ctx.body
;
// 此处省略 token 解码过程
// 此处省略 token 解码过程
if (token !== 'fastgpt') {
if (token !== 'fastgpt') {
return { success: false, message: "身份错误" }
return { success: false, message: '身份错误' };
}
}
if
(question.includes("你"))
{
if
(question.includes('你'))
{
return { success: false, message:
"内容不合规" }
return { success: false, message:
'内容不合规' };
}
}
return { success: true, data: { uid:
"user1" } }
return { success: true, data: { uid:
'user1' } };
}
}
```
```
</Tab>
</Tab>
<Tab value="/shareAuth/finish" >
<Tab value="/shareAuth/finish" >
结果上报接口可自行进行逻辑处理。
结果上报接口可自行进行逻辑处理。
```ts
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud'
;
export default async function (ctx: FunctionContext) {
export default async function (ctx: FunctionContext) {
const { token, responseData } = ctx.body
const { token, responseData } = ctx.body
;
const total = responseData.reduce((sum,
item) => sum + item.price,0)
const total = responseData.reduce((sum,
item) => sum + item.price, 0);
const amount = total / 100000
const amount = total / 100000
;
// 省略数据库操作
// 省略数据库操作
return {
}
return {
};
}
}
```
```
</Tab>
</Tab>
</Tabs>
</Tabs>
### 2. 配置校验地址
### 2. 配置校验地址
我们随便复制3个地址中一个接口: `https://d8dns0.laf.dev/shareAuth/finish`, 去除`/shareAuth/finish`后填入`身份校验`:`https://d8dns0.laf.dev`
我们随便复制3个地址中一个接口: `https://d8dns0.laf.dev/shareAuth/finish`, 去除`/shareAuth/finish`后填入`身份校验`:`https://d8dns0.laf.dev`
...
@@ -394,7 +367,6 @@ export default async function (ctx: FunctionContext) {
...
@@ -394,7 +367,6 @@ export default async function (ctx: FunctionContext) {
1. 打开源链接或者`authToken`不等于`fastgpt`的链接会提示身份错误。
1. 打开源链接或者`authToken`不等于`fastgpt`的链接会提示身份错误。
2. 发送内容中包含你字,会提示内容不合规。
2. 发送内容中包含你字,会提示内容不合规。
## 使用场景
## 使用场景
这个鉴权方式通常是帮助你直接嵌入`分享链接`到你的应用中,在你的应用打开分享链接前,应做`authToken`的拼接后再打开。
这个鉴权方式通常是帮助你直接嵌入`分享链接`到你的应用中,在你的应用打开分享链接前,应做`authToken`的拼接后再打开。
...
...
document/content/docs/upgrading/4-8/464.mdx
View file @
16a74c90
...
@@ -16,14 +16,14 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
...
@@ -16,14 +16,14 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
```
```
初始化说明:
初始化说明:
1. 初始化 PG 的createTime字段
1. 初始化 PG 的createTime字段
2. 初始化 Mongo 中 chat 的 feedback 字段
2. 初始化 Mongo 中 chat 的 feedback 字段
## V4.6.4 功能介绍
## V4.6.4 功能介绍
1. 重写 - 分享链接身份逻辑,采用 localID 记录用户的ID。
1. 重写 - 分享链接身份逻辑,采用 localID 记录用户的ID。
2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/development/openapi/share/)
2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/
introduction/
development/openapi/share/)
3. 新增 - 分享链接更多嵌入方式提示,更多DIY方式。
3. 新增 - 分享链接更多嵌入方式提示,更多DIY方式。
4. 优化 - 历史记录模块。弃用旧的历史记录模块,直接在对应地方填写数值即可。
4. 优化 - 历史记录模块。弃用旧的历史记录模块,直接在对应地方填写数值即可。
5. 调整 - 知识库搜索模块 topk 逻辑,采用 MaxToken 计算,兼容不同长度的文本块
5. 调整 - 知识库搜索模块 topk 逻辑,采用 MaxToken 计算,兼容不同长度的文本块
...
@@ -35,5 +35,3 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
...
@@ -35,5 +35,3 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
11. 修复 - md 代码块问题
11. 修复 - md 代码块问题
12. 修复 - root 权限问题
12. 修复 - root 权限问题
13. 优化 docker file
13. 优化 docker file
document/content/docs/upgrading/4-8/467.mdx
View file @
16a74c90
...
@@ -16,15 +16,15 @@ curl --location --request POST 'https://{{host}}/api/admin/initv467' \
...
@@ -16,15 +16,15 @@ curl --location --request POST 'https://{{host}}/api/admin/initv467' \
```
```
初始化说明:
初始化说明:
1. 将 images 重新关联到数据集
1. 将 images 重新关联到数据集
2. 设置 pg 表的 null 值。
2. 设置 pg 表的 null 值。
## V4.6.7 更新说明
## V4.6.7 更新说明
1. 修改了知识库UI及新的导入交互方式。
1. 修改了知识库UI及新的导入交互方式。
2. 优化知识库和对话的数据索引。
2. 优化知识库和对话的数据索引。
3. 知识库 openAPI,支持通过 [API 操作知识库](/docs/development/openapi/dataset)。
3. 知识库 openAPI,支持通过 [API 操作知识库](/docs/
introduction/
development/openapi/dataset)。
4. 新增 - 输入框变量提示。输入 `{` 号后将会获得可用变量提示。根据社区针对高级编排的反馈,我们计划于 2 月份的版本中,优化变量内容,支持模块的局部变量以及更多全局变量写入。
4. 新增 - 输入框变量提示。输入 `{` 号后将会获得可用变量提示。根据社区针对高级编排的反馈,我们计划于 2 月份的版本中,优化变量内容,支持模块的局部变量以及更多全局变量写入。
5. 优化 - 切换团队后会保存记录,下次登录时优先登录该团队。
5. 优化 - 切换团队后会保存记录,下次登录时优先登录该团队。
6. 修复 - API 对话时,chatId 冲突问题。
6. 修复 - API 对话时,chatId 冲突问题。
...
...
document/content/docs/upgrading/4-8/469.mdx
View file @
16a74c90
...
@@ -27,7 +27,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv469' \
...
@@ -27,7 +27,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv469' \
## 外部接口更新
## 外部接口更新
1. 由于计费系统变更,[分享链接对话上报接口](/docs/development/openapi/share/#5-编写对话结果上报接口可选)需要做一些调整,price字段被totalPoints字段取代。inputToken和outputToken不再提供,只提供`token`字段(总token数量)。
1. 由于计费系统变更,[分享链接对话上报接口](/docs/
introduction/
development/openapi/share/#5-编写对话结果上报接口可选)需要做一些调整,price字段被totalPoints字段取代。inputToken和outputToken不再提供,只提供`token`字段(总token数量)。
## V4.6.9 更新说明
## V4.6.9 更新说明
...
...
document/content/docs/upgrading/4-9/490.mdx
View file @
16a74c90
...
@@ -3,7 +3,6 @@ title: V4.9.0(包含升级脚本)
...
@@ -3,7 +3,6 @@ title: V4.9.0(包含升级脚本)
description: FastGPT V4.9.0 更新说明
description: FastGPT V4.9.0 更新说明
---
---
## 更新指南
## 更新指南
### 1. 做好数据库备份
### 1. 做好数据库备份
...
@@ -145,7 +144,7 @@ docker-compose up -d
...
@@ -145,7 +144,7 @@ docker-compose up -d
### 4. 运行 FastGPT 升级脚本
### 4. 运行 FastGPT 升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `
`{{rootkey}}`` 替换成环境变量里的 `rootkey`;``{{host}}`
` 替换成**FastGPT 域名**。
从任意终端,发起 1 个 HTTP 请求。其中 `
{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}
` 替换成**FastGPT 域名**。
```bash
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv490' \
curl --location --request POST 'https://{{host}}/api/admin/initv490' \
...
@@ -164,7 +163,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
...
@@ -164,7 +163,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](/docs/development/configuration/#使用-doc2x-解析-pdf-文件)
1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](/docs/development/configuration/#使用-doc2x-解析-pdf-文件)
2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile)
2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile)
3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。
3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。
4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](/docs/development/openapi/dataset.md)
4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](/docs/
introduction/
development/openapi/dataset.md)
## 🚀 新增内容
## 🚀 新增内容
...
...
document/content/docs/upgrading/4-9/492.mdx
View file @
16a74c90
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
title: V4.9.2
title: V4.9.2
description: FastGPT V4.9.2 更新说明
description: FastGPT V4.9.2 更新说明
---
---
## 更新指南
## 更新指南
可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
...
@@ -32,7 +33,7 @@ description: FastGPT V4.9.2 更新说明
...
@@ -32,7 +33,7 @@ description: FastGPT V4.9.2 更新说明
## 重要更新
## 重要更新
- 知识库导入数据 API 变更,增加`chunkSettingMode`,`chunkSplitMode`,`indexSize`可选参数,具体可参考 [知识库导入数据 API](/docs/development/openapi/dataset) 文档。
- 知识库导入数据 API 变更,增加`chunkSettingMode`,`chunkSplitMode`,`indexSize`可选参数,具体可参考 [知识库导入数据 API](/docs/
introduction/
development/openapi/dataset) 文档。
## 🚀 新增内容
## 🚀 新增内容
...
@@ -58,9 +59,10 @@ description: FastGPT V4.9.2 更新说明
...
@@ -58,9 +59,10 @@ description: FastGPT V4.9.2 更新说明
9. 个人信息和通知展示优化。
9. 个人信息和通知展示优化。
10. 模型测试 loading 动画优化。
10. 模型测试 loading 动画优化。
11. 分块算法小调整:
11. 分块算法小调整:
* 跨处理符号之间连续性更强。
* 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性。
- 跨处理符号之间连续性更强。
* 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。
- 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性。
- 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。
## 🐛 修复
## 🐛 修复
...
...
document/content/docs/use-cases/external-integration/openapi.mdx
View file @
16a74c90
...
@@ -5,23 +5,22 @@ description: 通过 API 访问 FastGPT 应用
...
@@ -5,23 +5,22 @@ description: 通过 API 访问 FastGPT 应用
import { Alert } from '@/components/docs/Alert';
import { Alert } from '@/components/docs/Alert';
在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/
development/openapi/chat
)。
在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/
introduction/development/openapi/intro
)。
## 获取 API 密钥
## 获取 API 密钥
依次选择应用 -> 「API访问」,然后点击「API 密钥」来创建密钥。
依次选择应用 -> 「API访问」,然后点击「API 密钥」来创建密钥。
<Alert context="warning">
<Alert context="warning">
密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
</Alert>
</Alert>


<Alert icon="🍅" context="success">
<Alert icon="🍅" context="success">
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
</Alert>
</Alert>
## 替换三方应用的变量
## 替换三方应用的变量
```bash
```bash
...
...
document/data/doc-last-modified.json
View file @
16a74c90
This diff is collapsed.
Click to expand it.
packages/service/support/wallet/usage/schema.ts
View file @
16a74c90
...
@@ -61,8 +61,7 @@ const UsageSchema = new Schema({
...
@@ -61,8 +61,7 @@ const UsageSchema = new Schema({
});
});
try
{
try
{
UsageSchema
.
index
({
teamId
:
1
,
time
:
1
,
tmbId
:
1
,
source
:
1
});
UsageSchema
.
index
({
teamId
:
1
,
tmbId
:
1
,
source
:
1
,
time
:
1
,
appName
:
1
});
UsageSchema
.
index
({
teamId
:
1
,
time
:
1
,
appName
:
1
});
// timer task. clear dead team
// timer task. clear dead team
// UsageSchema.index({ teamId: 1, time: -1 });
// UsageSchema.index({ teamId: 1, time: -1 });
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment