cloudfunctions/ClearingRedundantFolders/node_modules/@cloudbase/database/dist/esm/document.js
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import { Db } from './index';
import { Util } from './util';
import { UpdateSerializer } from './serializer/update';
import { serialize } from './serializer/datatype';
import { UpdateCommand } from './commands/update';
import { RealtimeWebSocketClient } from './realtime/websocket-client';
import { QueryType } from './constant';
import { getReqOpts, stringifyByEJSON, processReturn } from './utils/utils';
import { ERRORS } from './const/code';
import { EJSON } from 'bson';
export class DocumentReference {
constructor(db, coll, apiOptions, docID, transactionId) {
this.watch = (options) => {
if (!Db.ws) {
Db.ws = new RealtimeWebSocketClient({
context: {
appConfig: {
docSizeLimit: 1000,
realtimePingInterval: 10000,
realtimePongWaitTimeout: 5000,
request: this.request
}
}
});
}
return Db.ws.watch(Object.assign(Object.assign({}, options), { envId: this._db.config.env, collectionName: this._coll, query: JSON.stringify({
_id: this.id
}) }));
};
this._db = db;
this._coll = coll;
this.id = docID;
this._transactionId = transactionId;
this.request = new Db.reqClass(this._db.config);
this._apiOptions = apiOptions;
}
async create(data) {
if (this.id) {
data['_id'] = this.id;
}
let params = {
collectionName: this._coll,
data: [stringifyByEJSON(serialize(data))],
transactionId: this._transactionId
};
const res = await this.request.send('database.insertDocument', params, getReqOpts(this._apiOptions));
if (res.code) {
return res;
}
if (this._transactionId) {
return {
inserted: 1,
ok: 1,
id: res.data.insertedIds[0],
requestId: res.requestId
};
}
return {
id: res.data.insertedIds[0],
requestId: res.requestId
后面还有 156 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
