mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-21 01:46:28 +08:00
core: sync rdoc.score to psdoc.score
This commit is contained in:
1 parent
fda62809a1
commit
9e94ede71f
5 files changed
+27
-5
No files matched your search
@@ -1,6 +1,8 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import { FilterQuery } from 'mongodb';
|
||||
import type { DomainDoc, Udoc } from './interface';
|
||||
import domain from './model/domain';
|
||||
import * as document from './model/document';
|
||||
import user from './model/user';
|
||||
import problem, { Field, Pdoc } from './model/problem';
|
||||
|
||||
@@ -14,6 +16,16 @@ export async function iterateAllUser(cb: (udoc: Udoc, current?: number, total?:
|
||||
for (const i in udocs) await cb(udocs[i], +i, udocs.length);
|
||||
}
|
||||
|
||||
export async function iterateAllPsdoc(filter: FilterQuery<any>, cb: (psdoc: any) => Promise<any>) {
|
||||
await iterateAllDomain(async ({ _id: domainId }) => {
|
||||
const cursor = document.getMultiStatus(domainId, document.TYPE_PROBLEM, filter);
|
||||
while (await cursor.hasNext()) {
|
||||
const psdoc = await cursor.next();
|
||||
await cb(psdoc);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
interface PartialPdoc extends Pdoc {
|
||||
[key: string]: any,
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user