2026-07-27 11:28:33 +08:00

61 lines
1.9 KiB
JavaScript

const utils = require("./utils");
const dayjs = require("dayjs");
const common = require("../common");
exports.find = (db, dbName, query = {}, options = {}) => {
if (!db || !dbName) return [];
if (!options.skip) options.skip = 0;
if (!options.limit) options.limit = 1000;
return db.collection(dbName).find(query, options).toArray();
};
exports.insertOne = (db, dbName, params = {}) => {
if (!db || !dbName) return;
if (!params._id) params._id = common.generateRandomString(24);
if (!params.createTime) params.createTime = dayjs().valueOf();
return db.collection(dbName).insertOne(params);
};
exports.insertMany = (db, dbName, params = {}) => {
if (!db || !dbName) return;
if (!params._id) params._id = common.generateRandomString(24);
if (!params.createTime) params.createTime = dayjs().valueOf();
return db.collection(dbName).insertMany(params);
};
exports.updateOne = (db, dbName, query = {}, params = {}) => {
if (!db || !dbName) return;
if (!params.updateTime) params.updateTime = dayjs().valueOf();
return db.collection(dbName).updateOne(query, {
$set: params,
});
};
exports.updateMany = (
db,
dbName,
query = {},
params = {},
deteleParams = {}
) => {
if (!db || !dbName) return;
if (!params.updateTime) params.updateTime = dayjs().valueOf();
return db.collection(dbName).updateMany(query, {
$set: params,
$unset: deteleParams,
});
};
exports.countDocuments = (db, dbName, query = {}) => {
if (!db || !dbName) return;
return db.collection(dbName).countDocuments(query);
};
exports.deleteMany = (db, dbName, query = {}) => {
if (!db || !dbName) return;
return db.collection(dbName).deleteMany(query);
};
exports.deleteOne = (db, dbName, query = {}) => {
if (!db || !dbName) return;
return db.collection(dbName).deleteOne(query);
};
// 聚合查询
exports.aggregate = (db, dbName, query = {}) => {
if (!db || !dbName) return;
return db.collection(dbName).aggregate(query).toArray();
};