backbone-db-mongodb
Advanced tools
Comparing version 0.2.15 to 0.2.16
28
index.js
@@ -12,10 +12,22 @@ var _ = require('lodash'), | ||
function convertSort(sortProp) { | ||
var sortOrder = 1; | ||
if (sortProp && sortProp[0] === '-') { | ||
sortOrder = -1; | ||
sortProp = sortProp.substr(1); | ||
function _convert(prop) { | ||
var sortOrder = 1; | ||
if (prop && prop[0] === '-') { | ||
sortOrder = -1; | ||
prop = prop.substr(1); | ||
} | ||
var ret = {}; | ||
ret[prop] = sortOrder; | ||
return ret; | ||
} | ||
var ret = {}; | ||
ret[sortProp] = sortOrder; | ||
return ret; | ||
if (_.isArray(sortProp)) { | ||
var sortOpts = _.extend.apply(null, | ||
[{}].concat(_.map(sortProp, function(prop) { | ||
return _convert(prop); | ||
})) | ||
); | ||
return sortOpts; | ||
} else { | ||
return _convert(sortProp); | ||
} | ||
} | ||
@@ -196,3 +208,3 @@ | ||
} | ||
debug('update: %s', model.get(model.idAttribute)); | ||
debug('update: %s %s', model.type, model.id); | ||
this._getCollection(model, options, function (err, collection) { | ||
@@ -199,0 +211,0 @@ if (err) return callback(err); |
{ | ||
"name": "backbone-db-mongodb", | ||
"version": "0.2.15", | ||
"version": "0.2.16", | ||
"description": "MongoDB driver for Backbone.Db", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -120,2 +120,14 @@ var setup = require('./setup'); | ||
it('should sort by multiple properties', function() { | ||
var opts = { | ||
sort: ['-value', '-name'] | ||
}; | ||
return collection | ||
.fetch(opts) | ||
.then(function() { | ||
assert.equal(collection.length, 4); | ||
assert.equal(collection.at(1).id, 4); | ||
}); | ||
}); | ||
it('should fetch collections first page sorted ascending', function() { | ||
@@ -122,0 +134,0 @@ var opts = { |
27127
745