From 56ca1911a1e1f6e3e91393edf97f26af6b83f21e Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Fri, 1 Aug 2025 16:21:17 +0200 Subject: [PATCH] SYNC: mongosh - use only in stream method --- .../dbgate-plugin-mongo/src/backend/driver.js | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/plugins/dbgate-plugin-mongo/src/backend/driver.js b/plugins/dbgate-plugin-mongo/src/backend/driver.js index 989a0cb1e..3de3f7b6d 100644 --- a/plugins/dbgate-plugin-mongo/src/backend/driver.js +++ b/plugins/dbgate-plugin-mongo/src/backend/driver.js @@ -130,33 +130,33 @@ const driver = { }; }, async script(dbhan, sql) { - if (isProApp) { - const { NodeDriverServiceProvider } = require('@mongosh/service-provider-node-driver'); - const { ElectronRuntime } = require('@mongosh/browser-runtime-electron'); + // MongoSH should be used only in stream method + // if (isProApp) { + // const { NodeDriverServiceProvider } = require('@mongosh/service-provider-node-driver'); + // const { ElectronRuntime } = require('@mongosh/browser-runtime-electron'); - const connectionString = ensureDatabaseInMongoURI(dbhan.client.s.url, dbhan.database); - const serviceProvider = await NodeDriverServiceProvider.connect(connectionString); - const runtime = new ElectronRuntime(serviceProvider); - const exprValue = await runtime.evaluate(sql); + // const connectionString = ensureDatabaseInMongoURI(dbhan.client.s.url, dbhan.database); + // const serviceProvider = await NodeDriverServiceProvider.connect(connectionString); + // const runtime = new ElectronRuntime(serviceProvider); + // const exprValue = await runtime.evaluate(sql); - const { printable } = exprValue; + // const { printable } = exprValue; - if (Array.isArray(printable)) { - return printable; - } else if ('documents' in printable) { - return printable.documents; - } else if ('cursor' in printable && 'firstBatch' in printable.cursor) { - return printable.cursor.firstBatch; - } + // if (Array.isArray(printable)) { + // return printable; + // } else if ('documents' in printable) { + // return printable.documents; + // } else if ('cursor' in printable && 'firstBatch' in printable.cursor) { + // return printable.cursor.firstBatch; + // } - return printable; - } else { - let func; - func = eval(`(db,ObjectId) => ${sql}`); - const db = await getScriptableDb(dbhan); - const res = func(db, ObjectId.createFromHexString); - if (isPromise(res)) await res; - } + // return printable; + // } + let func; + func = eval(`(db,ObjectId) => ${sql}`); + const db = await getScriptableDb(dbhan); + const res = func(db, ObjectId.createFromHexString); + if (isPromise(res)) await res; }, async operation(dbhan, operation, options) { const { type } = operation;