From 253625da365662986df6f2be7f77f95744b28c7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nemanja=20Nedeljkovi=C4=87?= Date: Wed, 19 Jun 2019 18:36:08 +0200 Subject: [PATCH 1/4] Fix search for _id. --- lib/MongoDataTable.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/MongoDataTable.js b/lib/MongoDataTable.js index 34c8b40..91cedfd 100644 --- a/lib/MongoDataTable.js +++ b/lib/MongoDataTable.js @@ -4,6 +4,7 @@ var asyncjs = require('async'); var forEach = require('lodash/forEach'); var cols = require('./columns'); var validator = require('./validator'); +var ObjectID = require('mongodb').ObjectID; function MongoDataTable(dbObject) { this.db = dbObject; @@ -23,6 +24,10 @@ MongoDataTable.prototype.get = function(collectionName, options, onDataReady) { var searchCriteria = cols.buildSearchCriteria(options); + if(searchCriteria.id !== undefined){ + searchCriteria.id = new ObjectID(searchCriteria.id); + } + function getCollectionLength(callback) { if (self.db === null || typeof self.db === 'undefined') { return callback(new Error('You are not connected to any database server')); From f1e93de993d8ee72bb150fed6216c41ab47bb1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nemanja=20Nedeljkovi=C4=87?= Date: Wed, 19 Jun 2019 18:40:56 +0200 Subject: [PATCH 2/4] Update MongoDataTable.js --- lib/MongoDataTable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/MongoDataTable.js b/lib/MongoDataTable.js index 91cedfd..39d422d 100644 --- a/lib/MongoDataTable.js +++ b/lib/MongoDataTable.js @@ -24,8 +24,8 @@ MongoDataTable.prototype.get = function(collectionName, options, onDataReady) { var searchCriteria = cols.buildSearchCriteria(options); - if(searchCriteria.id !== undefined){ - searchCriteria.id = new ObjectID(searchCriteria.id); + if(searchCriteria._id !== undefined){ + searchCriteria._id = new ObjectID(searchCriteria._id); } function getCollectionLength(callback) { From f75669dc76d85834941b0c5d80deaab4b4e1ff95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nemanja=20Nedeljkovi=C4=87?= Date: Wed, 19 Jun 2019 18:46:19 +0200 Subject: [PATCH 3/4] Update MongoDataTable.js --- lib/MongoDataTable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/MongoDataTable.js b/lib/MongoDataTable.js index 39d422d..e51b8c9 100644 --- a/lib/MongoDataTable.js +++ b/lib/MongoDataTable.js @@ -25,7 +25,7 @@ MongoDataTable.prototype.get = function(collectionName, options, onDataReady) { var searchCriteria = cols.buildSearchCriteria(options); if(searchCriteria._id !== undefined){ - searchCriteria._id = new ObjectID(searchCriteria._id); + searchCriteria._id = new ObjectID((searchCriteria._id+"").split("/")[1]); } function getCollectionLength(callback) { From 5afe61159784d86d038718ad6825db05e0679772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nemanja=20Nedeljkovi=C4=87?= Date: Sun, 23 Jun 2019 13:40:56 +0200 Subject: [PATCH 4/4] Update MongoDataTable.js --- lib/MongoDataTable.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/MongoDataTable.js b/lib/MongoDataTable.js index e51b8c9..e93fa13 100644 --- a/lib/MongoDataTable.js +++ b/lib/MongoDataTable.js @@ -26,6 +26,14 @@ MongoDataTable.prototype.get = function(collectionName, options, onDataReady) { if(searchCriteria._id !== undefined){ searchCriteria._id = new ObjectID((searchCriteria._id+"").split("/")[1]); + searchCriteria = { + $or: [ + JSON.parse(JSON.stringify(searchCriteria)), + JSON.parse(JSON.stringify(searchCriteria)) + ] + }; + + searchCriteria["$or"][0]._id = new ObjectID(searchCriteria["$or"][0]._id); } function getCollectionLength(callback) {