From 907bb89fb9d1d0ea7bf3660a2aad885ec528f4a8 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 26 Aug 2020 18:32:37 +0800 Subject: [PATCH] fix --- packages/plugin-mongo/src/index.ts | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/plugin-mongo/src/index.ts b/packages/plugin-mongo/src/index.ts index cc1111a219..e3aa4e5c10 100644 --- a/packages/plugin-mongo/src/index.ts +++ b/packages/plugin-mongo/src/index.ts @@ -106,21 +106,23 @@ extendDatabase(MongoDatabase, { }, async setUser(userId, data) { - const $set = { ...data } - if ($set.timers) { - for (const key in $set.timers) { - if (key === '$date') $set['timers._date'] = $set.timers.$date - else $set[`timers.${key.replace(/\./gmi, '_')}`] = $set.timers[key] + const $set: any = { ...data } + delete $set.timers + delete $set.usage + if (data.timers) { + $set.timers = {} + for (const key in data.timers) { + if (key === '$date') $set.timer._date = data.timers.$date + else $set.timer[key.replace(/\./gmi, '_')] = data.timers[key] } } - if ($set.usage) { - for (const key in $set.usage) { - if (key === '$date') $set['usage._date'] = $set.usage.$date - else $set[`usage.${key.replace(/\./gmi, '_')}`] = $set.usage[key] + if (data.usage) { + $set.usage = {} + for (const key in data.usage) { + if (key === '$date') $set.usage._date = data.usage.$date + else $set.usage[key.replace(/\./gmi, '_')] = data.usage[key] } } - delete $set.timers - delete $set.usage await this.user.updateOne({ _id: userId }, { $set }, { upsert: true }) },