From 78173c6acbebb27ce92d6a6bcf47d3c881164e14 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Thu, 25 Jan 2024 22:41:27 +0600 Subject: [PATCH] Minor fixes (#4454) Signed-off-by: Denis Bykhov --- packages/core/src/utils.ts | 2 +- server/tool/src/index.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts index 1f7c67fa26..bf3e4982ea 100644 --- a/packages/core/src/utils.ts +++ b/packages/core/src/utils.ts @@ -511,7 +511,7 @@ export function cutObjectArray (obj: any): any { } else Object.assign(r, { [key]: obj[key] }) continue } - if (typeof obj[key] === 'object') { + if (typeof obj[key] === 'object' && obj[key] !== null) { Object.assign(r, { [key]: cutObjectArray(obj[key]) }) continue } diff --git a/server/tool/src/index.ts b/server/tool/src/index.ts index deef43a26e..bfd2727734 100644 --- a/server/tool/src/index.ts +++ b/server/tool/src/index.ts @@ -279,7 +279,12 @@ async function createUpdateIndexes (connection: CoreClient, db: Db, logger: Mode const bb: (string | FieldIndex)[] = [] for (const vv of v.values()) { try { - await collection.createIndex(vv) + const key = typeof vv === 'string' ? vv : Object.keys(vv)[0] + const name = typeof vv === 'string' ? `${key}_1` : `${key}_${vv[key]}` + const exists = await collection.indexExists(name) + if (!exists) { + await collection.createIndex(vv) + } } catch (err: any) { logger.log('error', JSON.stringify(err)) }