123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- 'use strict';
-
- /**
- * Module dependencies
- */
-
- var Collection = require('./collection');
- var utils = require('../utils');
-
- function NodeCollection(col) {
- this.collection = col;
- this.collectionName = col.collectionName;
- }
-
- /**
- * inherit from collection base class
- */
-
- utils.inherits(NodeCollection, Collection);
-
- /**
- * find(match, options, function(err, docs))
- */
-
- NodeCollection.prototype.find = function(match, options, cb) {
- this.collection.find(match, options, function(err, cursor) {
- if (err) return cb(err);
-
- try {
- cursor.toArray(cb);
- } catch (error) {
- cb(error);
- }
- });
- };
-
- /**
- * findOne(match, options, function(err, doc))
- */
-
- NodeCollection.prototype.findOne = function(match, options, cb) {
- this.collection.findOne(match, options, cb);
- };
-
- /**
- * count(match, options, function(err, count))
- */
-
- NodeCollection.prototype.count = function(match, options, cb) {
- this.collection.count(match, options, cb);
- };
-
- /**
- * distinct(prop, match, options, function(err, count))
- */
-
- NodeCollection.prototype.distinct = function(prop, match, options, cb) {
- this.collection.distinct(prop, match, options, cb);
- };
-
- /**
- * update(match, update, options, function(err[, result]))
- */
-
- NodeCollection.prototype.update = function(match, update, options, cb) {
- this.collection.update(match, update, options, cb);
- };
-
- /**
- * update(match, update, options, function(err[, result]))
- */
-
- NodeCollection.prototype.updateMany = function(match, update, options, cb) {
- this.collection.updateMany(match, update, options, cb);
- };
-
- /**
- * update(match, update, options, function(err[, result]))
- */
-
- NodeCollection.prototype.updateOne = function(match, update, options, cb) {
- this.collection.updateOne(match, update, options, cb);
- };
-
- /**
- * replaceOne(match, update, options, function(err[, result]))
- */
-
- NodeCollection.prototype.replaceOne = function(match, update, options, cb) {
- this.collection.replaceOne(match, update, options, cb);
- };
-
- /**
- * deleteOne(match, options, function(err[, result])
- */
-
- NodeCollection.prototype.deleteOne = function(match, options, cb) {
- this.collection.deleteOne(match, options, cb);
- };
-
- /**
- * deleteMany(match, options, function(err[, result])
- */
-
- NodeCollection.prototype.deleteMany = function(match, options, cb) {
- this.collection.deleteMany(match, options, cb);
- };
-
- /**
- * remove(match, options, function(err[, result])
- */
-
- NodeCollection.prototype.remove = function(match, options, cb) {
- this.collection.remove(match, options, cb);
- };
-
- /**
- * findAndModify(match, update, options, function(err, doc))
- */
-
- NodeCollection.prototype.findAndModify = function(match, update, options, cb) {
- var sort = Array.isArray(options.sort) ? options.sort : [];
- this.collection.findAndModify(match, sort, update, options, cb);
- };
-
- /**
- * var stream = findStream(match, findOptions, streamOptions)
- */
-
- NodeCollection.prototype.findStream = function(match, findOptions, streamOptions) {
- return this.collection.find(match, findOptions).stream(streamOptions);
- };
-
- /**
- * var cursor = findCursor(match, findOptions)
- */
-
- NodeCollection.prototype.findCursor = function(match, findOptions) {
- return this.collection.find(match, findOptions);
- };
-
- /**
- * aggregation(operators..., function(err, doc))
- * TODO
- */
-
- /**
- * Expose
- */
-
- module.exports = exports = NodeCollection;
|