jack 1 dia atrás
pai
commit
f99a4c550d
1 arquivos alterados com 16 adições e 15 exclusões
  1. 16 15
      mongo.js

+ 16 - 15
mongo.js

@@ -65,27 +65,27 @@ async function updateUserData2(host, database, cename, data, res) {
         await collection.updateOne(
             { [dateKey]: { $exists: true } },
             {
-                $set: { // 设置其他字段
-                    [`${dateKey}.${userid}`]: {
-                        username: userData.username,
-                        org: userData.org,
-                        school: userData.school,
-                        browser: userData.browser
-                    }
-                },
+                $set: {
+                    // 使用点符号逐个更新字段
+                    [`${dateKey}.${userid}.username`]: userData.username,
+                    [`${dateKey}.${userid}.org`]: userData.org,
+                    [`${dateKey}.${userid}.school`]: userData.school,
+                    [`${dateKey}.${userid}.browser`]: userData.browser
+                }
                 // 先更新用户信息
             },
             { upsert: true } // 如果没有数据,默认创建一条数据
         );
 
         // 然后推送操作到 operation 数组
+
         await collection.updateOne(
             { [dateKey]: { $exists: true } },
             {
-                $push: { [`${dateKey}.${userid}.operation`]: userData.operation } // 将用户数据推入数组
-            }
+                $push: { [`${dateKey}.${userid}.operation`]: { $each: userData.operation } } // 将用户数据推入数组
+            },
+            { upsert: true }
         );
-
         console.log('数据更新成功');
         res.end(JSON.stringify({ status: "1" }))
     } catch (err) {
@@ -115,11 +115,12 @@ async function updateUserData2(host, database, cename, data, res) {
             ]
     }
 }
+  
 // 示例调用
-updateUserData("mongodb://root:usestudio-1@123.58.32.151:11641?authSource=admin", "cocolog", "applog", {
+updateUserData2("mongodb://root:usestudio-1@123.58.32.151:11641?authSource=admin", "cocolog", "applog", {
     "2025-04-01": {
         "userid": {
-            username: "",
+            username: "1",
             org: "",
             school: "",
             browser: "",
@@ -134,7 +135,7 @@ updateUserData("mongodb://root:usestudio-1@123.58.32.151:11641?authSource=admin"
         }
     }
 });
-*/
+  */
 
 router.route('/updateUserData2').all((req, res, next) => {
     let today = new Date();
@@ -146,7 +147,7 @@ router.route('/updateUserData2').all((req, res, next) => {
     }
     let json = {
         [date]: {
-            [decryptedData.userid]: 
+            [decryptedData.userid]:
             {
                 username: decryptedData.username,
                 accountNumber: decryptedData.accountNumber,