|
|
@ -432,8 +432,8 @@ describe('Database', function () { |
|
|
|
d.insert({ tf: 6 }, function () { |
|
|
|
d.insert({ tf: 6 }, function () { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 9 }, function () { |
|
|
|
d.insert({ tf: 9 }, function () { |
|
|
|
var data = d.getCandidates({ r: 6, tf: 4 }) |
|
|
|
d.getCandidates({ r: 6, tf: 4 }, function (err, data) { |
|
|
|
, doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
var doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
@ -448,6 +448,7 @@ describe('Database', function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('Can use an index to get docs with a $in match', function (done) { |
|
|
|
it('Can use an index to get docs with a $in match', function (done) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
@ -455,8 +456,8 @@ describe('Database', function () { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc1) { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc1) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc2) { |
|
|
|
var data = d.getCandidates({ r: 6, tf: { $in: [6, 9, 5] } }) |
|
|
|
d.getCandidates({ r: 6, tf: { $in: [6, 9, 5] } }, function (err, data) { |
|
|
|
, doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
var doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
@ -471,6 +472,7 @@ describe('Database', function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('If no index can be used, return the whole database', function (done) { |
|
|
|
it('If no index can be used, return the whole database', function (done) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
@ -478,8 +480,8 @@ describe('Database', function () { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc3) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc3) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc4) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc4) { |
|
|
|
var data = d.getCandidates({ r: 6, notf: { $in: [6, 9, 5] } }) |
|
|
|
d.getCandidates({ r: 6, notf: { $in: [6, 9, 5] } }, function (err, data) { |
|
|
|
, doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
var doc1 = _.find(data, function (d) { return d._id === _doc1._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
, doc3 = _.find(data, function (d) { return d._id === _doc3._id; }) |
|
|
|
, doc3 = _.find(data, function (d) { return d._id === _doc3._id; }) |
|
|
|
, doc4 = _.find(data, function (d) { return d._id === _doc4._id; }) |
|
|
|
, doc4 = _.find(data, function (d) { return d._id === _doc4._id; }) |
|
|
@ -498,6 +500,7 @@ describe('Database', function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('Can use indexes for comparison matches', function (done) { |
|
|
|
it('Can use indexes for comparison matches', function (done) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
|
d.ensureIndex({ fieldName: 'tf' }, function (err) { |
|
|
@ -505,8 +508,8 @@ describe('Database', function () { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 6 }, function (err, _doc2) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc3) { |
|
|
|
d.insert({ tf: 4, an: 'other' }, function (err, _doc3) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc4) { |
|
|
|
d.insert({ tf: 9 }, function (err, _doc4) { |
|
|
|
var data = d.getCandidates({ r: 6, tf: { $lte: 9, $gte: 6 } }) |
|
|
|
d.getCandidates({ r: 6, tf: { $lte: 9, $gte: 6 } }, function (err, data) { |
|
|
|
, doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
var doc2 = _.find(data, function (d) { return d._id === _doc2._id; }) |
|
|
|
, doc4 = _.find(data, function (d) { return d._id === _doc4._id; }) |
|
|
|
, doc4 = _.find(data, function (d) { return d._id === _doc4._id; }) |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
@ -521,6 +524,7 @@ describe('Database', function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}); // ==== End of '#getCandidates' ==== //
|
|
|
|
}); // ==== End of '#getCandidates' ==== //
|
|
|
|
|
|
|
|
|
|
|
@ -2649,11 +2653,12 @@ describe('Database', function () { |
|
|
|
it('Results of getMatching should never contain duplicates', function (done) { |
|
|
|
it('Results of getMatching should never contain duplicates', function (done) { |
|
|
|
d.ensureIndex({ fieldName: 'bad' }); |
|
|
|
d.ensureIndex({ fieldName: 'bad' }); |
|
|
|
d.insert({ bad: ['a', 'b'] }, function () { |
|
|
|
d.insert({ bad: ['a', 'b'] }, function () { |
|
|
|
var res = d.getCandidates({ bad: { $in: ['a', 'b'] } }); |
|
|
|
d.getCandidates({ bad: { $in: ['a', 'b'] } }, function (err, res) { |
|
|
|
res.length.should.equal(1); |
|
|
|
res.length.should.equal(1); |
|
|
|
done(); |
|
|
|
done(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}); // ==== End of 'Using indexes' ==== //
|
|
|
|
}); // ==== End of 'Using indexes' ==== //
|
|
|
|
|
|
|
|
|
|
|
|