mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: !EXPERIMENTAL! 支持跨域引用题目
This commit is contained in:
1 parent
33d7c70ef6
commit
d897391e9a
25 files changed
+434
-392
No files matched your search
@@ -1,10 +1,13 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import { FilterQuery } from 'mongodb';
|
||||
import type { DomainDoc, Udoc, ProblemStatusDoc } from './interface';
|
||||
import type {
|
||||
DomainDoc, Udoc, ProblemStatusDoc, RecordDoc,
|
||||
} from './interface';
|
||||
import domain from './model/domain';
|
||||
import * as document from './model/document';
|
||||
import user from './model/user';
|
||||
import problem, { Field, ProblemDoc } from './model/problem';
|
||||
import RecordModel from './model/record';
|
||||
|
||||
export async function iterateAllDomain(cb: (ddoc: DomainDoc, current?: number, total?: number) => Promise<any>) {
|
||||
const ddocs = await domain.getMulti().toArray();
|
||||
@@ -56,3 +59,16 @@ export async function iterateAllProblem(
|
||||
await iterateAllProblemInDomain(d._id, fields, cb);
|
||||
});
|
||||
}
|
||||
|
||||
export async function iterateAllRecord(
|
||||
cb: (rdoc: RecordDoc, current: number, total: number) => any,
|
||||
) {
|
||||
const total = await RecordModel.coll.count();
|
||||
let i = 0;
|
||||
const cursor = RecordModel.coll.find().sort('_id', 1);
|
||||
while (await cursor.hasNext()) {
|
||||
const rdoc = await cursor.next();
|
||||
i++;
|
||||
await cb(rdoc, i, total);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user