diff --git a/lib/MongoDataTable.js b/lib/MongoDataTable.js index 34c8b40..e93fa13 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,18 @@ MongoDataTable.prototype.get = function(collectionName, options, onDataReady) { var searchCriteria = cols.buildSearchCriteria(options); + 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) { if (self.db === null || typeof self.db === 'undefined') { return callback(new Error('You are not connected to any database server'));