|
@@ -28,7 +28,7 @@ us.initMongoConnection = async function (host, database) {
|
|
|
}
|
|
|
return us.client.db(database); // 返回数据库实例
|
|
|
}
|
|
|
-
|
|
|
+/*
|
|
|
async function updateUserData(host, database, cename, data, res) {
|
|
|
const db = await us.initMongoConnection(host, database); // 连接数据库
|
|
|
try {
|
|
@@ -51,17 +51,86 @@ async function updateUserData(host, database, cename, data, res) {
|
|
|
console.error('更新失败', err);
|
|
|
}
|
|
|
}
|
|
|
+*/
|
|
|
+async function updateUserData(host, database, cename, data, res) {
|
|
|
+ const db = await us.initMongoConnection(host, database); // 连接数据库
|
|
|
+ try {
|
|
|
+ const collection = db.collection(cename); // collection设置
|
|
|
+ const dateKey = Object.keys(data)[0]; // 获取日期键
|
|
|
+ const userid = Object.keys(data[dateKey])[0];
|
|
|
+ const userData = data[dateKey][userid]; // 从 data 中提取 userData
|
|
|
+ console.log(userData);
|
|
|
+
|
|
|
+ // 使用 upsert 更新或插入文档
|
|
|
+ await collection.updateOne(
|
|
|
+ { [dateKey]: { $exists: true } },
|
|
|
+ {
|
|
|
+ $set: { // 设置其他字段
|
|
|
+ [`${dateKey}.${userid}`]: {
|
|
|
+ username: userData.username,
|
|
|
+ org: userData.org,
|
|
|
+ school: userData.school,
|
|
|
+ browser: userData.browser
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 先更新用户信息
|
|
|
+ },
|
|
|
+ { upsert: true } // 如果没有数据,默认创建一条数据
|
|
|
+ );
|
|
|
+
|
|
|
+ // 然后推送操作到 operation 数组
|
|
|
+ await collection.updateOne(
|
|
|
+ { [dateKey]: { $exists: true } },
|
|
|
+ {
|
|
|
+ $push: { [`${dateKey}.${userid}.operation`]: userData.operation } // 将用户数据推入数组
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ console.log('数据更新成功');
|
|
|
+ //res.end(JSON.stringify({ status: "1" }))
|
|
|
+ } catch (err) {
|
|
|
+ //res.end(JSON.stringify({ status: "0", error: err.message })) // 返回错误信息
|
|
|
+ console.error('更新失败', err);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/*
|
|
|
+{
|
|
|
+ "2025-04-01": {
|
|
|
+ "userid": {
|
|
|
+ username: "",
|
|
|
+ org: "",
|
|
|
+ school: "",
|
|
|
+ browser: "",
|
|
|
+ operation:[
|
|
|
+ {
|
|
|
+ "useTime":"",
|
|
|
+ "loadTime":"",
|
|
|
+ "object":"",
|
|
|
+ "status":"error(报错信息)、正常就是success"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+}
|
|
|
// 示例调用
|
|
|
updateUserData("mongodb://root:usestudio-1@123.58.32.151:11641?authSource=admin", "cocolog", "applog", {
|
|
|
"2025-04-01": {
|
|
|
- "username":
|
|
|
- {
|
|
|
- userid: "",
|
|
|
- date: "",
|
|
|
- appname: "",
|
|
|
- status: ""
|
|
|
+ "userid": {
|
|
|
+ username: "",
|
|
|
+ org: "",
|
|
|
+ school: "",
|
|
|
+ browser: "",
|
|
|
+ operation: [
|
|
|
+ {
|
|
|
+ "useTime": "",
|
|
|
+ "loadTime": "",
|
|
|
+ "object": "",
|
|
|
+ "status": "error(报错信息)、正常就是success"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
});
|