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