diff --git a/lib/Cursor.js b/lib/Cursor.js
new file mode 100644
index 0000000..898c58e
--- /dev/null
+++ b/lib/Cursor.js
@@ -0,0 +1,83 @@
+var Promise = require('bluebird');
+var Cursor = (function () {
+ function Cursor(model, conditions, cursor) {
+ this.model = model;
+ this.conditions = conditions;
+ this.cursor = cursor;
+ }
+ Cursor.prototype.count = function (callback) {
+ var _this = this;
+ return new Promise(function (resolve, reject) {
+ _this.cursor.count(true, function (err, count) {
+ if (err)
+ return reject(err);
+ return resolve(count);
+ });
+ }).nodeify(callback);
+ };
+ Cursor.prototype.each = function (handler, callback) {
+ var _this = this;
+ return new Promise(function (resolve, reject) {
+ var promises = [];
+ _this.cursor.each(function (err, item) {
+ if (err)
+ return reject(err);
+ if (!item)
+ return resolve(Promise.all(promises).then(function () { return null; }));
+ promises.push(_this.model.handlers.documentReceived(_this.conditions, item, function (document, isNew, isPartial) { return _this.model.helpers.wrapDocument(document, isNew, isPartial); }).then(handler));
+ });
+ }).nodeify(callback);
+ };
+ Cursor.prototype.map = function (handler, callback) {
+ var _this = this;
+ return new Promise(function (resolve, reject) {
+ var promises = [];
+ _this.cursor.each(function (err, item) {
+ if (err)
+ return reject(err);
+ if (!item)
+ return resolve(Promise.all(promises));
+ promises.push(_this.model.handlers.documentReceived(_this.conditions, item, function (document, isNew, isPartial) { return _this.model.helpers.wrapDocument(document, isNew, isPartial); }).then(handler));
+ });
+ }).nodeify(callback);
+ };
+ Cursor.prototype.toArray = function (callback) {
+ var _this = this;
+ return new Promise(function (resolve, reject) {
+ _this.cursor.toArray(function (err, results) {
+ if (err)
+ return reject(err);
+ return resolve(results);
+ });
+ }).map(function (document) {
+ return _this.model.handlers.documentReceived(_this.conditions, document, function (document, isNew, isPartial) { return _this.model.helpers.wrapDocument(document, isNew, isPartial); });
+ }).nodeify(callback);
+ };
+ Cursor.prototype.next = function (callback) {
+ var _this = this;
+ return new Promise(function (resolve, reject) {
+ _this.cursor.nextObject(function (err, result) {
+ if (err)
+ return reject(err);
+ return resolve(result);
+ });
+ }).then(function (document) {
+ return _this.model.handlers.documentReceived(_this.conditions, document, function (document, isNew, isPartial) { return _this.model.helpers.wrapDocument(document, isNew, isPartial); });
+ }).nodeify(callback);
+ };
+ Cursor.prototype.rewind = function () {
+ return new Cursor(this.model, this.conditions, this.cursor.rewind());
+ };
+ Cursor.prototype.sort = function (sortExpression) {
+ return new Cursor(this.model, this.conditions, this.cursor.sort(sortExpression));
+ };
+ Cursor.prototype.limit = function (number) {
+ return new Cursor(this.model, this.conditions, this.cursor.limit(number));
+ };
+ Cursor.prototype.skip = function (number) {
+ return new Cursor(this.model, this.conditions, this.cursor.skip(number));
+ };
+ return Cursor;
+})();
+module.exports = Cursor;
+//# sourceMappingURL=Cursor.js.map
\ No newline at end of file
diff --git a/lib/Cursor.js.map b/lib/Cursor.js.map
new file mode 100644
index 0000000..e7be195
--- /dev/null
+++ b/lib/Cursor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Cursor.js","sourceRoot":"","sources":["Cursor.ts"],"names":["Cursor","Cursor.constructor","Cursor.count","Cursor.each","Cursor.map","Cursor.toArray","Cursor.next","Cursor.rewind","Cursor.sort","Cursor.limit","Cursor.skip"],"mappings":"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"}
\ No newline at end of file
diff --git a/lib/Cursor.ts b/lib/Cursor.ts
new file mode 100644
index 0000000..104e62b
--- /dev/null
+++ b/lib/Cursor.ts
@@ -0,0 +1,83 @@
+///
+import model = require('./Model');
+import general = require('./General');
+import MongoDB = require('mongodb');
+import Promise = require('bluebird');
+
+export = Cursor;
+
+class Cursor {
+ constructor(private model: model.Model, private conditions: any, private cursor: MongoDB.Cursor) {
+
+ }
+
+ count(callback?: general.Callback): Promise {
+ return new Promise((resolve, reject) => {
+ this.cursor.count(true,(err, count) => {
+ if (err) return reject(err);
+ return resolve(count);
+ });
+ }).nodeify(callback);
+ }
+
+ each(handler: (instance: TInstance) => void, callback?: general.Callback): Promise {
+ return new Promise((resolve, reject) => {
+ var promises = [];
+ this.cursor.each((err, item: TDocument) => {
+ if (err) return reject(err);
+ if (!item) return resolve(Promise.all(promises).then(() => null));
+ promises.push(this.model.handlers.documentReceived(this.conditions, item,(document, isNew?, isPartial?) => this.model.helpers.wrapDocument(document, isNew, isPartial)).then(handler));
+ });
+ }).nodeify(callback);
+ }
+
+ map(handler: (instance: TInstance) => TResult | Promise, callback?: general.Callback): Promise {
+ return new Promise((resolve, reject) => {
+ var promises: Promise[] = [];
+ this.cursor.each((err, item: TDocument) => {
+ if (err) return reject(err);
+ if (!item) return resolve(Promise.all(promises));
+ promises.push(this.model.handlers.documentReceived(this.conditions, item,(document, isNew?, isPartial?) => this.model.helpers.wrapDocument(document, isNew, isPartial))
+ .then(<(instance) => TResult>handler));
+ });
+ }).nodeify(callback);
+ }
+
+ toArray(callback?: general.Callback): Promise {
+ return new Promise((resolve, reject) => {
+ this.cursor.toArray((err, results: any[]) => {
+ if (err) return reject(err);
+ return resolve(results);
+ });
+ }).map((document) => {
+ return this.model.handlers.documentReceived(this.conditions, document,(document, isNew?, isPartial?) => this.model.helpers.wrapDocument(document, isNew, isPartial));
+ }).nodeify(callback);
+ }
+
+ next(callback?: general.Callback): Promise {
+ return new Promise((resolve, reject) => {
+ this.cursor.nextObject((err, result: any) => {
+ if (err) return reject(err);
+ return resolve(result);
+ });
+ }).then((document) => {
+ return this.model.handlers.documentReceived(this.conditions, document,(document, isNew?, isPartial?) => this.model.helpers.wrapDocument(document, isNew, isPartial));
+ }).nodeify(callback);
+ }
+
+ rewind(): Cursor {
+ return new Cursor(this.model, this.conditions, this.cursor.rewind());
+ }
+
+ sort(sortExpression: model.IndexSpecification): Cursor {
+ return new Cursor(this.model, this.conditions, this.cursor.sort(sortExpression));
+ }
+
+ limit(number: number): Cursor {
+ return new Cursor(this.model, this.conditions, this.cursor.limit(number));
+ }
+
+ skip(number: number): Cursor {
+ return new Cursor(this.model, this.conditions, this.cursor.skip(number));
+ }
+}
\ No newline at end of file
diff --git a/lib/Instance.js b/lib/Instance.js
index 0cfed4d..7d0c65c 100644
--- a/lib/Instance.js
+++ b/lib/Instance.js
@@ -104,7 +104,7 @@ var Instance = (function () {
});
});
}).then(function (latest) {
- return _this._model.handlers.documentsReceived(conditions, [latest], function (value) {
+ return _this._model.handlers.documentReceived(conditions, latest, function (value) {
_this._model.helpers.transform.apply(value);
_this._isPartial = false;
_this._isNew = false;
@@ -112,8 +112,6 @@ var Instance = (function () {
_this._modified = _.clone(value);
return _this;
});
- }).then(function (instances) {
- return instances[0];
}).nodeify(callback);
};
/**
@@ -147,10 +145,10 @@ var Instance = (function () {
_this._original = _.cloneDeep(_this._modified);
return _this;
}
- return _this._model.handlers.documentsReceived(conditions, [newDocument], function (doc) {
+ return _this._model.handlers.documentReceived(conditions, newDocument, function (doc) {
_this._model.helpers.transform.apply(doc);
return doc;
- }).then(function (docs) { return docs[0]; }).then(function (doc) {
+ }).then(function (doc) {
_this._isNew = false;
_this._isPartial = false;
_this._original = doc;
diff --git a/lib/Instance.js.map b/lib/Instance.js.map
index 35cb14e..7c1f670 100644
--- a/lib/Instance.js.map
+++ b/lib/Instance.js.map
@@ -1 +1 @@
-{"version":3,"file":"Instance.js","sourceRoot":"","sources":["Instance.ts"],"names":["Instance","Instance.constructor","Instance.document","Instance.save","Instance.update","Instance.refresh","Instance.delete","Instance.remove","Instance.first","Instance.select","Instance.toJSON","Instance.toString"],"mappings":"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A,EAAEA,CAACA,CAACA,GAAGA,CAACA;wBAACA,MAAMA,CAACA,MAAMA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,MAAMA,CAACA,OAAOA,CAACA,OAAOA,CAACA,CAACA;gBAC5BA,CAACA,CAACA,CAACA;YACPA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,OAAgBA;YACrBA,UAAUA,GAAGA,KAAIA,CAACA,MAAMA,CAACA,OAAOA,CAACA,SAASA,CAACA,KAAIA,CAACA,SAASA,CAACA,CAACA;YAC3DA,EAAEA,CAACA,CAACA,CAACA,OAAOA,CAACA;gBAACA,MAAMA,CAACA,KAAIA,CAACA,SAASA,CAACA;YAEpCA,MAAMA,CAACA,IAAIA,OAAOA,CAAYA,UAACA,OAAOA,EAAEA,MAAMA;gBAC1CA,KAAIA,CAACA,MAAMA,CAACA,UAAUA,CAACA,OAAOA,CAACA,UAAUA,EAACA,UAACA,GAAUA,EAAEA,MAAMA;oBACzDA,EAAEA,CAACA,CAACA,GAAGA,CAACA;wBAACA,MAAMA,CAACA,MAAMA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,MAAMA,CAACA,OAAOA,CAACA,MAAMA,CAACA,CAACA;gBAC3BA,CAACA,CAACA,CAACA;YACPA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,MAAiBA;YACtBA,MAAMA,CAACA,KAAIA,CAACA,MAAMA,CAACA,QAAQA,CAACA,iBAAiBA,CAACA,UAAUA,EAAEA,CAACA,MAAMA,CAACA,EAACA,UAACA,KAAKA;gBACrEA,KAAIA,CAACA,MAAMA,CAACA,OAAOA,CAACA,SAASA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;gBAC3CA,KAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;gBACxBA,KAAIA,CAACA,MAAMA,GAAGA,KAAKA,CAACA;gBACpBA,KAAIA,CAACA,SAASA,GAAGA,KAAKA,CAACA;gBACvBA,KAAIA,CAACA,SAASA,GAAGA,CAACA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;gBAChCA,MAAMA,CAAiBA,KAAIA,CAACA;YAChCA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,SAASA;YACdA,MAAMA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;QACxBA,CAACA,CAACA,CAACA,OAAOA,CAACA,QAAQA,CAACA,CAACA;IACzBA,CAACA;IAEDH;;;;OAIGA;IACHA,yBAAMA,GAANA,UAAOA,QAAsCA;QACzCI,MAAMA,CAACA,IAAIA,CAACA,OAAOA,CAACA,QAAQA,CAACA,CAACA;IAClCA,CAACA;IAEDJ;;;;OAIGA;IACHA,0BAAOA,GAAPA,UAAQA,QAAsCA;QAA9CK,iBA8BCA;QA7BGA,IAAIA,UAAUA,GAAGA,IAAIA,CAACA,MAAMA,CAACA,OAAOA,CAACA,SAASA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA;QAE/DA,MAAMA,CAACA,OAAOA,CAACA,OAAOA,EAAEA,CAACA,IAAIA,CAACA;YAC1BA,MAAMA,CAACA,IAAIA,OAAOA,CAAYA,UAACA,OAAOA,EAAEA,MAAMA;gBAC1CA,KAAIA,CAACA,MAAMA,CAACA,UAAUA,CAACA,OAAOA,CAACA,UAAUA,EAACA,UAACA,GAAUA,EAAEA,GAAQA;oBAC3DA,EAAEA,CAACA,CAACA,GAAGA,CAACA;wBAACA,MAAMA,CAACA,MAAMA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,MAAMA,CAACA,OAAOA,CAACA,GAAGA,CAACA,CAACA;gBACxBA,CAACA,CAACA,CAACA;YACPA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,WAAWA;YAChBA,EAAEA,CAACA,CAACA,CAACA,WAAWA,CAACA,CAACA,CAACA;gBACfA,KAAIA,CAACA,UAAUA,GAAGA,IAAIA,CAACA;gBACvBA,KAAIA,CAACA,MAAMA,GAAGA,IAAIA,CAACA;gBACnBA,KAAIA,CAACA,SAASA,GAAGA,CAACA,CAACA,SAASA,CAACA,KAAIA,CAACA,SAASA,CAACA,CAACA;gBAC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"}
\ No newline at end of file
+{"version":3,"file":"Instance.js","sourceRoot":"","sources":["Instance.ts"],"names":["Instance","Instance.constructor","Instance.document","Instance.save","Instance.update","Instance.refresh","Instance.delete","Instance.remove","Instance.first","Instance.select","Instance.toJSON","Instance.toString"],"mappings":"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A,EAAEA,CAACA,CAACA,GAAGA,CAACA;wBAACA,MAAMA,CAACA,MAAMA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,MAAMA,CAACA,OAAOA,CAACA,OAAOA,CAACA,CAACA;gBAC5BA,CAACA,CAACA,CAACA;YACPA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,OAAgBA;YACrBA,UAAUA,GAAGA,KAAIA,CAACA,MAAMA,CAACA,OAAOA,CAACA,SAASA,CAACA,KAAIA,CAACA,SAASA,CAACA,CAACA;YAC3DA,EAAEA,CAACA,CAACA,CAACA,OAAOA,CAACA;gBAACA,MAAMA,CAACA,KAAIA,CAACA,SAASA,CAACA;YAEpCA,MAAMA,CAACA,IAAIA,OAAOA,CAAYA,UAACA,OAAOA,EAAEA,MAAMA;gBAC1CA,KAAIA,CAACA,MAAMA,CAACA,UAAUA,CAACA,OAAOA,CAACA,UAAUA,EAACA,UAACA,GAAUA,EAAEA,MAAMA;oBACzDA,EAAEA,CAACA,CAACA,GAAGA,CAACA;wBAACA,MAAMA,CAACA,MAAMA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,MAAMA,CAACA,OAAOA,CAACA,MAAMA,CAACA,CAACA;gBAC3BA,CAACA,CAACA,CAACA;YACPA,CAACA,CAACA,CAACA;QACPA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAACA,MAAiBA;YACtBA,MAAMA,CAACA,KAAIA,CAACA,MAAMA,CAACA,QAAQA,CAACA,gBAAgBA,CAACA,UAAUA,EAAEA,MAAMA,EAACA,UAACA,KAAKA;gBAClEA,KAAIA,CAACA,MAAMA,CAACA,OAAOA,CAACA,SAASA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;gBAC3CA,KAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;gBACxBA,KAAIA,CAACA,MAAMA,GAAGA,KAAKA,CAACA;gBACpBA,KAAIA,CAACA,SAASA,GAAGA,KAAKA,CAACA;gBACvBA,KAAIA,CAACA,SAASA,GAAGA,CAACA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;g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"}
\ No newline at end of file
diff --git a/lib/Instance.ts b/lib/Instance.ts
index 052e5b6..aaf1caf 100644
--- a/lib/Instance.ts
+++ b/lib/Instance.ts
@@ -130,7 +130,7 @@ class Instance {
});
});
}).then((latest: TDocument) => {
- return this._model.handlers.documentsReceived(conditions, [latest],(value) => {
+ return this._model.handlers.documentReceived(conditions, latest,(value) => {
this._model.helpers.transform.apply(value);
this._isPartial = false;
this._isNew = false;
@@ -138,8 +138,6 @@ class Instance {
this._modified = _.clone(value);
return this;
});
- }).then((instances) => {
- return instances[0];
}).nodeify(callback);
}
@@ -175,10 +173,10 @@ class Instance {
return >this;
}
- return this._model.handlers.documentsReceived(conditions, [newDocument],(doc) => {
+ return this._model.handlers.documentReceived(conditions, newDocument,(doc) => {
this._model.helpers.transform.apply(doc);
return doc;
- }).then((docs) => docs[0]).then((doc) => {
+ }).then((doc) => {
this._isNew = false;
this._isPartial = false;
this._original = doc;
diff --git a/lib/Model.js b/lib/Model.js
index d5aa680..ccf0df6 100644
--- a/lib/Model.js
+++ b/lib/Model.js
@@ -7,6 +7,7 @@ var util = require('util');
var _ = require('lodash');
var Iridium = require('./Core');
var instance = require('./Instance');
+var Cursor = require('./Cursor');
var idCacheController = require('./cacheControllers/IDDirector');
var Omnom = require('./utils/Omnom');
/**
@@ -204,40 +205,18 @@ var Model = (function () {
enumerable: true,
configurable: true
});
- Model.prototype.find = function (conditions, options, callback) {
- var _this = this;
- if (typeof options == 'function') {
- callback = options;
- options = {};
- }
- if (typeof conditions == 'function') {
- callback = conditions;
- conditions = {};
- options = {};
- }
+ Model.prototype.find = function (conditions, fields) {
conditions = conditions || {};
- options = options || {};
- _.defaults(options, {});
- return Promise.resolve().then(function () {
- if (options.fields)
- _this.helpers.transform.reverse(options.fields);
- if (!_.isPlainObject(conditions))
- conditions = _this.helpers.selectOneDownstream(conditions);
- _this.helpers.transform.reverse(conditions);
- var cursor = _this.collection.find(conditions, {
- limit: options.limit,
- sort: options.sort,
- skip: options.skip,
- fields: options.fields
- });
- return Promise.promisify(function (callback) {
- cursor.toArray(callback);
- })();
- }).then(function (results) {
- if (!results || !results.length)
- return Promise.resolve([]);
- return _this.handlers.documentsReceived(conditions, results, function (document, isNew, isPartial) { return _this.helpers.wrapDocument(document, isNew, isPartial); }, options);
- }).nodeify(callback);
+ fields = fields || {};
+ if (fields)
+ this.helpers.transform.reverse(fields);
+ if (!_.isPlainObject(conditions))
+ conditions = this.helpers.selectOneDownstream(conditions);
+ this.helpers.transform.reverse(conditions);
+ var cursor = this.collection.find(conditions, {
+ fields: fields
+ });
+ return new Cursor(this, conditions, cursor);
};
Model.prototype.get = function () {
var args = [];
@@ -296,7 +275,7 @@ var Model = (function () {
}).then(function (document) {
if (!document)
return null;
- return _this.handlers.documentsReceived(conditions, [document], function (document, isNew, isPartial) { return _this.helpers.wrapDocument(document, isNew, isPartial); }, options).then(function (documents) { return documents[0]; });
+ return _this.handlers.documentReceived(conditions, document, function (document, isNew, isPartial) { return _this.helpers.wrapDocument(document, isNew, isPartial); }, options);
}).nodeify(callback);
};
Model.prototype.create = function () {
@@ -352,8 +331,8 @@ var Model = (function () {
});
});
});
- }).then(function (inserted) {
- return _this.handlers.documentsReceived(null, inserted, function (document, isNew, isPartial) { return _this.helpers.wrapDocument(document, isNew, isPartial); }, { cache: options.cache });
+ }).map(function (inserted) {
+ return _this.handlers.documentReceived(null, inserted, function (document, isNew, isPartial) { return _this.helpers.wrapDocument(document, isNew, isPartial); }, { cache: options.cache });
}).then(function (results) {
if (Array.isArray(objs))
return results;
@@ -569,14 +548,14 @@ var ModelHandlers = (function () {
enumerable: true,
configurable: true
});
- ModelHandlers.prototype.documentsReceived = function (conditions, results, wrapper, options) {
+ ModelHandlers.prototype.documentReceived = function (conditions, result, wrapper, options) {
var _this = this;
if (options === void 0) { options = {}; }
_.defaults(options, {
cache: true,
partial: false
});
- return Promise.resolve(results).map(function (target) {
+ return Promise.resolve(result).then(function (target) {
return Promise.resolve().then(function () {
// Trigger the received hook
if (_this.model.options.hooks.retrieved)
diff --git a/lib/Model.js.map b/lib/Model.js.map
index 3e76e74..d5ee817 100644
--- a/lib/Model.js.map
+++ b/lib/Model.js.map
@@ -1 +1 @@
-{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Model","Model.constructor","Model.options","Model.helpers","Model.handlers","Model.schema","Model.core","Model.collection","Model.collectionName","Model.cacheDirector","Model.cache","Model.Instance","Model.find","Model.get","Model.findOne","Model.create","Model.insert","Model.update","Model.count","Model.remove","Model.ensureIndex","Model.ensureIndexes","Model.dropIndex","Model.dropIndexes","ModelHelpers","ModelHelpers.constructor","ModelHelpers.transform","ModelHelpers.validate","ModelHelpers.selectOne","ModelHelpers.identifierField","ModelHelpers.selectOneDownstream","ModelHelpers.wrapDocument","ModelHelpers.diff","ModelHandlers","ModelHandlers.constructor","ModelHandlers.model","ModelHandlers.documentsReceived","ModelHandlers.creatingDocuments","ModelHandlers.savingDocument","ModelSpecificInstance","ModelCache","ModelCache.constructor","ModelCache.model","ModelCache.set","ModelCache.get","ModelCache.clear"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Model","Model.constructor","Model.options","Model.helpers","Model.handlers","Model.schema","Model.core","Model.collection","Model.collectionName","Model.cacheDirector","Model.cache","Model.Instance","Model.find","Model.get","Model.findOne","Model.create","Model.insert","Model.update","Model.count","Model.remove","Model.ensureIndex","Model.ensureIndexes","Model.dropIndex","Model.dropIndexes","ModelHelpers","ModelHelpers.constructor","ModelHelpers.transform","ModelHelpers.validate","ModelHelpers.selectOne","ModelHelpers.identifierField","ModelHelpers.selectOneDownstream","ModelHelpers.wrapDocument","ModelHelpers.diff","ModelHandlers","ModelHandlers.constructor","ModelHandlers.model","ModelHandlers.documentReceived","ModelHandlers.creatingDocuments","ModelHandlers.savingDocument","ModelSpecificInstance","ModelCache","ModelCache.constructor","ModelCache.model","ModelCache.set","ModelCache.get","ModelCache.clear"],"mappings":"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"}
\ No newline at end of file
diff --git a/lib/Model.ts b/lib/Model.ts
index 9bcbf6b..a4883d2 100644
--- a/lib/Model.ts
+++ b/lib/Model.ts
@@ -14,6 +14,7 @@ import IPlugin = require('./Plugins');
import cache = require('./Cache');
import CacheDirector = require('./CacheDirector');
import general = require('./General');
+import Cursor = require('./Cursor');
import noOpCache = require('./caches/NoOpCache');
import memoryCache = require('./caches/MemoryCache');
@@ -201,62 +202,35 @@ export class Model implements IModel
* @param {function(Error, TInstance[])} callback An optional callback which will be triggered when results are available
* @returns {Promise}
*/
- find(callback?: general.Callback): Promise;
+ find(): Cursor;
/**
* Returns all documents in the collection which match the conditions and wraps them as instances
* @param {Object} conditions The MongoDB query dictating which documents to return
- * @param {function(Error, TInstance[])} callback An optional callback which will be triggered when results are available
* @returns {Promise}
*/
- find(conditions: any, callback?: general.Callback): Promise;
+ find(conditions: any): Cursor;
/**
* Returns all documents in the collection which match the conditions
* @param {Object} conditions The MongoDB query dictating which documents to return
- * @param {QueryOptions} options The options dictating how this function behaves
- * @param {function(Error, TInstance[])} callback An optional callback which will be triggered when results are available
+ * @param {Object} fields The fields to include or exclude from the document
* @returns {Promise}
*/
- find(conditions: any, options: QueryOptions, callback?: general.Callback): Promise;
- find(conditions?: any, options?: QueryOptions, callback?: general.Callback): Promise {
- if (typeof options == 'function') {
- callback = >options;
- options = {};
- }
-
- if (typeof conditions == 'function') {
- callback = >conditions;
- conditions = {};
- options = {};
- }
-
+ find(conditions: any, fields: { [name: string]: number }): Cursor;
+ find(conditions?: any, fields?: any): Cursor {
conditions = conditions || {};
- options = options || {};
-
- _.defaults(options, {
-
- });
+ fields = fields || {};
- return Promise.resolve().then(() => {
- if (options.fields)
- this.helpers.transform.reverse(options.fields);
+ if (fields)
+ this.helpers.transform.reverse(fields);
- if (!_.isPlainObject(conditions)) conditions = this.helpers.selectOneDownstream(conditions);
- this.helpers.transform.reverse(conditions);
+ if (!_.isPlainObject(conditions)) conditions = this.helpers.selectOneDownstream(conditions);
+ this.helpers.transform.reverse(conditions);
- var cursor = this.collection.find(conditions, {
- limit: options.limit,
- sort: options.sort,
- skip: options.skip,
- fields: options.fields
- });
+ var cursor = this.collection.find(conditions, {
+ fields: fields
+ });
- return Promise.promisify((callback) => {
- cursor.toArray(callback);
- })();
- }).then((results: TDocument[]) => {
- if (!results || !results.length) return Promise.resolve([]);
- return this.handlers.documentsReceived(conditions, results,(document, isNew?, isPartial?) => this.helpers.wrapDocument(document, isNew, isPartial), options);
- }).nodeify(callback);
+ return new Cursor(this, conditions, cursor);
}
/**
@@ -379,7 +353,7 @@ export class Model implements IModel
});
}).then((document: TDocument) => {
if (!document) return null;
- return this.handlers.documentsReceived(conditions, [document],(document, isNew?, isPartial?) => this.helpers.wrapDocument(document, isNew, isPartial), options).then((documents) => documents[0]);
+ return this.handlers.documentReceived(conditions, document,(document, isNew?, isPartial?) => this.helpers.wrapDocument(document, isNew, isPartial), options);
}).nodeify(callback);
}
@@ -489,8 +463,8 @@ export class Model implements IModel
});
});
});
- }).then((inserted: any[]) => {
- return this.handlers.documentsReceived(null, inserted,(document, isNew?, isPartial?) => this.helpers.wrapDocument(document, isNew, isPartial), { cache: options.cache });
+ }).map((inserted: any) => {
+ return this.handlers.documentReceived(null, inserted,(document, isNew?, isPartial?) => this.helpers.wrapDocument(document, isNew, isPartial), { cache: options.cache });
}).then((results: TInstance[]) => {
if (Array.isArray(objs)) return results;
return results[0];
@@ -822,16 +796,16 @@ export class ModelHandlers {
return this._model;
}
- documentsReceived(conditions: any,
- results: TDocument[],
+ documentReceived(conditions: any,
+ result: TDocument,
wrapper: (document: TDocument, isNew?: boolean, isPartial?: boolean) => TResult,
- options: QueryOptions = {}): Promise {
+ options: QueryOptions = {}): Promise {
_.defaults(options, {
cache: true,
partial: false
});
- return Promise.resolve(results).map((target: any) => {
+ return Promise.resolve(result).then((target: any) => {
return >Promise.resolve().then(() => {
// Trigger the received hook
if (this.model.options.hooks.retrieved) return this.model.options.hooks.retrieved(target);
diff --git a/test/Model.js b/test/Model.js
index 8cc97a1..ff4980e 100644
--- a/test/Model.js
+++ b/test/Model.js
@@ -319,23 +319,42 @@ describe("Model", function () {
it("should exist", function () {
chai.expect(model.find).to.exist.and.be.a('function');
});
- it("should select all documents by default", function () {
- return chai.expect(model.find()).to.eventually.exist.and.have.length(5);
- });
- it("should allow filtering using a selector", function () {
- return chai.expect(model.find({ answer: 10 })).to.eventually.exist.and.have.length(1);
- });
- it("should allow passing of options to control the query", function () {
- return chai.expect(model.find({}, {
- limit: 2
- })).to.eventually.exist.and.have.length(2);
- });
- it("should support a callback style instead of promises", function (done) {
- model.find(function (err, docs) {
- if (err)
- return done(err);
- chai.expect(docs).to.exist.and.have.length(5);
- return done();
+ it("should return a cursor object");
+ describe("cursor", function () {
+ describe("each", function () {
+ it("should call the handler for all documents", function () {
+ var count = 0;
+ return chai.expect(model.find().each(function (instance) {
+ chai.expect(instance).to.exist;
+ count++;
+ }).then(function () { return chai.expect(count).to.equal(5); })).to.eventually.be.ok;
+ });
+ });
+ describe("map", function () {
+ });
+ describe("toArray", function () {
+ it("should return all documents", function () {
+ return chai.expect(model.find().toArray()).to.eventually.exist.and.have.length(5);
+ });
+ it("should allow filtering using a selector", function () {
+ return chai.expect(model.find({ answer: 10 }).toArray()).to.eventually.exist.and.have.length(1);
+ });
+ it("should support a callback style instead of promises", function (done) {
+ model.find().toArray(function (err, docs) {
+ if (err)
+ return done(err);
+ chai.expect(docs).to.exist.and.have.length(5);
+ return done();
+ });
+ });
+ });
+ describe("count", function () {
+ });
+ describe("limit", function () {
+ });
+ describe("skip", function () {
+ });
+ describe("sort", function () {
});
});
});
diff --git a/test/Model.js.map b/test/Model.js.map
index ef8d248..7658044 100644
--- a/test/Model.js.map
+++ b/test/Model.js.map
@@ -1 +1 @@
-{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Test","Test.constructor"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Test","Test.constructor"],"mappings":"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"}
\ No newline at end of file
diff --git a/test/Model.ts b/test/Model.ts
index 0b8d6e5..a6d7f75 100644
--- a/test/Model.ts
+++ b/test/Model.ts
@@ -368,26 +368,59 @@ describe("Model",() => {
chai.expect(model.find).to.exist.and.be.a('function');
});
- it("should select all documents by default",() => {
- return chai.expect(model.find()).to.eventually.exist.and.have.length(5);
- });
+ it("should return a cursor object");
- it("should allow filtering using a selector",() => {
- return chai.expect(model.find({ answer: 10 })).to.eventually.exist.and.have.length(1);
- });
+ describe("cursor",() => {
- it("should allow passing of options to control the query",() => {
- return chai.expect(model.find({}, {
- limit: 2
- })).to.eventually.exist.and.have.length(2);
- });
+ describe("each",() => {
+ it("should call the handler for all documents",() => {
+ var count = 0;
+ return chai.expect(model.find().each((instance) => {
+ chai.expect(instance).to.exist;
+ count++;
+ }).then(() => chai.expect(count).to.equal(5))).to.eventually.be.ok;
+ });
- it("should support a callback style instead of promises",(done) => {
- model.find((err, docs) => {
- if (err) return done(err);
- chai.expect(docs).to.exist.and.have.length(5);
- return done();
});
+
+ describe("map",() => {
+
+ });
+
+ describe("toArray",() => {
+ it("should return all documents",() => {
+ return chai.expect(model.find().toArray()).to.eventually.exist.and.have.length(5);
+ });
+
+ it("should allow filtering using a selector",() => {
+ return chai.expect(model.find({ answer: 10 }).toArray()).to.eventually.exist.and.have.length(1);
+ });
+
+ it("should support a callback style instead of promises",(done) => {
+ model.find().toArray((err, docs) => {
+ if (err) return done(err);
+ chai.expect(docs).to.exist.and.have.length(5);
+ return done();
+ });
+ });
+ });
+
+ describe("count",() => {
+
+ });
+
+ describe("limit",() => {
+
+ });
+
+ describe("skip",() => {
+
+ });
+
+ describe("sort",() => {
+
+ });
+
});
});