mirror of
https://github.com/dbgate/dbgate
synced 2024-11-07 20:26:23 +00:00
mongo - using ejson
This commit is contained in:
parent
3b813e93e7
commit
eaa943a39d
@ -31,14 +31,15 @@
|
|||||||
"prepublishOnly": "yarn build"
|
"prepublishOnly": "yarn build"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"bson": "^6.8.0",
|
||||||
"dbgate-plugin-tools": "^1.0.7",
|
"dbgate-plugin-tools": "^1.0.7",
|
||||||
"dbgate-query-splitter": "^4.10.1",
|
"dbgate-query-splitter": "^4.10.1",
|
||||||
"lodash": "^4.17.21",
|
|
||||||
"webpack": "^5.91.0",
|
|
||||||
"webpack-cli": "^5.1.4",
|
|
||||||
"dbgate-tools": "^5.0.0-alpha.1",
|
"dbgate-tools": "^5.0.0-alpha.1",
|
||||||
"is-promise": "^4.0.0",
|
"is-promise": "^4.0.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"mongodb": "^6.3.0",
|
"mongodb": "^6.3.0",
|
||||||
"mongodb-client-encryption": "^6.0.0"
|
"mongodb-client-encryption": "^6.0.0",
|
||||||
|
"webpack": "^5.91.0",
|
||||||
|
"webpack-cli": "^5.1.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,9 +3,8 @@ const stream = require('stream');
|
|||||||
const isPromise = require('is-promise');
|
const isPromise = require('is-promise');
|
||||||
const driverBase = require('../frontend/driver');
|
const driverBase = require('../frontend/driver');
|
||||||
const Analyser = require('./Analyser');
|
const Analyser = require('./Analyser');
|
||||||
const MongoClient = require('mongodb').MongoClient;
|
const { MongoClient, ObjectId, AbstractCursor } = require('mongodb');
|
||||||
const ObjectId = require('mongodb').ObjectId;
|
const { EJSON } = require('bson');
|
||||||
const AbstractCursor = require('mongodb').AbstractCursor;
|
|
||||||
const createBulkInsertStream = require('./createBulkInsertStream');
|
const createBulkInsertStream = require('./createBulkInsertStream');
|
||||||
const {
|
const {
|
||||||
convertToMongoCondition,
|
convertToMongoCondition,
|
||||||
@ -14,9 +13,7 @@ const {
|
|||||||
} = require('../frontend/convertToMongoCondition');
|
} = require('../frontend/convertToMongoCondition');
|
||||||
|
|
||||||
function transformMongoData(row) {
|
function transformMongoData(row) {
|
||||||
return _.cloneDeepWith(row, (x) => {
|
return EJSON.serialize(row);
|
||||||
if (x && x.constructor == ObjectId) return { $oid: x.toString() };
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function readCursor(cursor, options) {
|
async function readCursor(cursor, options) {
|
||||||
@ -27,11 +24,7 @@ async function readCursor(cursor, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function convertObjectId(condition) {
|
function convertObjectId(condition) {
|
||||||
return _.cloneDeepWith(condition, (x) => {
|
return EJSON.deserialize(condition);
|
||||||
if (x && x.$oid) {
|
|
||||||
return ObjectId.createFromHexString(x.$oid);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function findArrayResult(resValue) {
|
function findArrayResult(resValue) {
|
||||||
|
@ -2458,6 +2458,11 @@ bson@^6.7.0:
|
|||||||
resolved "https://registry.yarnpkg.com/bson/-/bson-6.7.0.tgz#51973b132cdc424c8372fda3cb43e3e3e2ae2227"
|
resolved "https://registry.yarnpkg.com/bson/-/bson-6.7.0.tgz#51973b132cdc424c8372fda3cb43e3e3e2ae2227"
|
||||||
integrity sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==
|
integrity sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==
|
||||||
|
|
||||||
|
bson@^6.8.0:
|
||||||
|
version "6.8.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/bson/-/bson-6.8.0.tgz#5063c41ba2437c2b8ff851b50d9e36cb7aaa7525"
|
||||||
|
integrity sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==
|
||||||
|
|
||||||
buffer-crc32@^0.2.5:
|
buffer-crc32@^0.2.5:
|
||||||
version "0.2.13"
|
version "0.2.13"
|
||||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||||
|
Loading…
Reference in New Issue
Block a user