mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-26 15:36:28 +00:00
mongo driver - collection export scripts
This commit is contained in:
@@ -154,4 +154,11 @@ export const driverBase = {
|
||||
getFilterBehaviour(dataType: string, standardFilterBehaviours) {
|
||||
return detectSqlFilterBehaviour(dataType);
|
||||
},
|
||||
|
||||
getCollectionExportQueryScript(collection: string, condition: any, sort: any) {
|
||||
return null;
|
||||
},
|
||||
getCollectionExportQueryJson(collection: string, condition: any, sort: any) {
|
||||
return null;
|
||||
},
|
||||
};
|
||||
|
||||
2
packages/types/engines.d.ts
vendored
2
packages/types/engines.d.ts
vendored
@@ -159,7 +159,7 @@ export interface EngineDriver extends FilterBehaviourProvider {
|
||||
getAuthTokenFromCode(connection, options): Promise<string>;
|
||||
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
||||
getCollectionExportQueryScript(collection: string, condition: any, sort: any): string;
|
||||
getCollectionExportQueryJson(collection: string, condition: any, sort: any): string;
|
||||
getCollectionExportQueryJson(collection: string, condition: any, sort: any): {};
|
||||
|
||||
analyserClass?: any;
|
||||
dumperClass?: any;
|
||||
|
||||
@@ -172,17 +172,27 @@
|
||||
// $: if (onChangeGrider) onChangeGrider(grider);
|
||||
|
||||
function getExportQuery() {
|
||||
return `db.collection('${pureName}')
|
||||
.find(${JSON.stringify(buildConditionForGrid($$props) || {})})
|
||||
.sort(${JSON.stringify(buildMongoSort($$props) || {})})`;
|
||||
return display?.driver?.getCollectionExportQueryScript?.(
|
||||
pureName,
|
||||
buildConditionForGrid($$props),
|
||||
buildMongoSort($$props)
|
||||
);
|
||||
// return `db.collection('${pureName}')
|
||||
// .find(${JSON.stringify(buildConditionForGrid($$props) || {})})
|
||||
// .sort(${JSON.stringify(buildMongoSort($$props) || {})})`;
|
||||
}
|
||||
|
||||
function getExportQueryJson() {
|
||||
return {
|
||||
collection: pureName,
|
||||
condition: buildConditionForGrid($$props) || {},
|
||||
sort: buildMongoSort($$props) || {},
|
||||
};
|
||||
return display?.driver?.getCollectionExportQueryJson?.(
|
||||
pureName,
|
||||
buildConditionForGrid($$props),
|
||||
buildMongoSort($$props)
|
||||
);
|
||||
// return {
|
||||
// collection: pureName,
|
||||
// condition: buildConditionForGrid($$props) || {},
|
||||
// sort: buildMongoSort($$props) || {},
|
||||
// };
|
||||
}
|
||||
|
||||
export async function exportGrid() {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const { driverBase } = global.DBGATE_TOOLS;
|
||||
const { convertToMongoCondition } = require('./convertToMongoCondition');
|
||||
const Dumper = require('./Dumper');
|
||||
const { mongoSplitterOptions } = require('dbgate-query-splitter/lib/options');
|
||||
|
||||
@@ -97,6 +98,19 @@ const driver = {
|
||||
getFilterBehaviour(dataType, standardFilterBehaviours) {
|
||||
return standardFilterBehaviours.mongoFilterBehaviour;
|
||||
},
|
||||
|
||||
getCollectionExportQueryScript(collection, condition, sort) {
|
||||
return `db.collection('${collection}')
|
||||
.find(${JSON.stringify(convertToMongoCondition(condition || {}))})
|
||||
.sort(${JSON.stringify(sort || {})})`;
|
||||
},
|
||||
getCollectionExportQueryJson(collection, condition, sort) {
|
||||
return {
|
||||
collection,
|
||||
condition: convertToMongoCondition(condition || {}),
|
||||
sort: sort || {},
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = driver;
|
||||
|
||||
Reference in New Issue
Block a user