fix: projection不需要每次都查询分片信息,导致过多的数据量
This commit is contained in:
parent
a52a2874c6
commit
066d834d8d
|
|
@ -61,7 +61,9 @@ export async function mergeChunkedUpload(params, context) {
|
|||
...extraFileProjection,
|
||||
application: {
|
||||
...applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
|
|
|
|||
|
|
@ -42,7 +42,11 @@ export class ExtraFile extends Feature {
|
|||
let modiEntityId = '';
|
||||
const getExtraFileData = () => {
|
||||
const [extraFile] = this.cache.get('extraFile', {
|
||||
data: extraFileProjection,
|
||||
data: {
|
||||
...extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id,
|
||||
},
|
||||
|
|
@ -181,7 +185,11 @@ export class ExtraFile extends Feature {
|
|||
id: await generateNewIdAsync(),
|
||||
});
|
||||
const [newExtraFile] = this.cache.get('extraFile', {
|
||||
data: extraFileProjection,
|
||||
data: {
|
||||
...extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -263,6 +263,6 @@ export const extraFileProjection = {
|
|||
uploadState: 1,
|
||||
uploadMeta: 1,
|
||||
applicationId: 1,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
// enableChunkedUpload: 1, // 只查询基本信息(计算文件访问URL必备的信息),这里的分片信息需要的时候单独查询,因为很大
|
||||
// chunkInfo: 1,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ export default class S3Backend extends S3 {
|
|||
const { instance, config: s3Config } = this.getConfigAndInstance(application, extraFile.bucket);
|
||||
const preInit = await instance.prepareMultipartUpload(extraFile.bucket, key, extraFile.chunkInfo?.partCount, {
|
||||
endpoint: s3Config.endpoint,
|
||||
expiresIn: 30 * 1000, // 30 minutes
|
||||
expiresIn: 30 * 1000, // 30 seconds
|
||||
});
|
||||
return {
|
||||
uploadId: preInit.uploadId,
|
||||
|
|
|
|||
|
|
@ -104,7 +104,9 @@ const watchers = [
|
|||
...extraFileProjection,
|
||||
application: {
|
||||
...applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
fn: async (context, data) => {
|
||||
const eg = groupBy(data, 'applicationId');
|
||||
|
|
|
|||
|
|
@ -67,7 +67,9 @@ async function mergeChunkedUpload(params, context) {
|
|||
...Projection_1.extraFileProjection,
|
||||
application: {
|
||||
...Projection_1.applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,11 @@ class ExtraFile extends Feature_1.Feature {
|
|||
let modiEntityId = '';
|
||||
const getExtraFileData = () => {
|
||||
const [extraFile] = this.cache.get('extraFile', {
|
||||
data: Projection_1.extraFileProjection,
|
||||
data: {
|
||||
...Projection_1.extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id,
|
||||
},
|
||||
|
|
@ -184,7 +188,11 @@ class ExtraFile extends Feature_1.Feature {
|
|||
id: await (0, uuid_1.generateNewIdAsync)(),
|
||||
});
|
||||
const [newExtraFile] = this.cache.get('extraFile', {
|
||||
data: Projection_1.extraFileProjection,
|
||||
data: {
|
||||
...Projection_1.extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -266,6 +266,6 @@ exports.extraFileProjection = {
|
|||
uploadState: 1,
|
||||
uploadMeta: 1,
|
||||
applicationId: 1,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
// enableChunkedUpload: 1, // 只查询基本信息(计算文件访问URL必备的信息),这里的分片信息需要的时候单独查询,因为很大
|
||||
// chunkInfo: 1,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class S3Backend extends s3_1.default {
|
|||
const { instance, config: s3Config } = this.getConfigAndInstance(application, extraFile.bucket);
|
||||
const preInit = await instance.prepareMultipartUpload(extraFile.bucket, key, extraFile.chunkInfo?.partCount, {
|
||||
endpoint: s3Config.endpoint,
|
||||
expiresIn: 30 * 1000, // 30 minutes
|
||||
expiresIn: 30 * 1000, // 30 seconds
|
||||
});
|
||||
return {
|
||||
uploadId: preInit.uploadId,
|
||||
|
|
|
|||
|
|
@ -106,7 +106,9 @@ const watchers = [
|
|||
...Projection_1.extraFileProjection,
|
||||
application: {
|
||||
...Projection_1.applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
fn: async (context, data) => {
|
||||
const eg = (0, lodash_1.groupBy)(data, 'applicationId');
|
||||
|
|
|
|||
|
|
@ -99,7 +99,9 @@ export async function mergeChunkedUpload<ED extends EntityDict>(
|
|||
...extraFileProjection,
|
||||
application: {
|
||||
...applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
|
|
|
|||
|
|
@ -71,7 +71,11 @@ export class ExtraFile<ED extends EntityDict> extends Feature {
|
|||
let modiEntityId = '';
|
||||
const getExtraFileData = () => {
|
||||
const [extraFile] = this.cache.get('extraFile', {
|
||||
data: extraFileProjection,
|
||||
data: {
|
||||
...extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id,
|
||||
},
|
||||
|
|
@ -244,7 +248,11 @@ export class ExtraFile<ED extends EntityDict> extends Feature {
|
|||
} as ED['extraFile']['Operation']);
|
||||
|
||||
const [newExtraFile] = this.cache.get('extraFile', {
|
||||
data: extraFileProjection,
|
||||
data: {
|
||||
...extraFileProjection,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
filter: {
|
||||
id: extraFileId,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -269,6 +269,6 @@ export const extraFileProjection: EntityDict['extraFile']['Projection'] = {
|
|||
uploadState: 1,
|
||||
uploadMeta: 1,
|
||||
applicationId: 1,
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
// enableChunkedUpload: 1, // 只查询基本信息(计算文件访问URL必备的信息),这里的分片信息需要的时候单独查询,因为很大
|
||||
// chunkInfo: 1,
|
||||
};
|
||||
|
|
@ -121,7 +121,9 @@ const watchers: Watcher<
|
|||
...extraFileProjection,
|
||||
application: {
|
||||
...applicationProjection,
|
||||
}
|
||||
},
|
||||
enableChunkedUpload: 1,
|
||||
chunkInfo: 1,
|
||||
},
|
||||
fn: async (context, data) => {
|
||||
const eg = groupBy(data, 'applicationId');
|
||||
|
|
|
|||
Loading…
Reference in New Issue