mirror of https://github.com/mongodb/mongo
50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
// Find the decimal using query operators
|
|
|
|
(function() {
|
|
'use strict';
|
|
var col = db.decimal_find_query;
|
|
col.drop();
|
|
|
|
// Insert some sample data.
|
|
|
|
assert.commandWorked(col.insert([
|
|
{'decimal': NumberDecimal('0')},
|
|
{'decimal': NumberDecimal('0.00')},
|
|
{'decimal': NumberDecimal('-0')},
|
|
{'decimal': NumberDecimal('1.0')},
|
|
{'decimal': NumberDecimal('1.00')},
|
|
{'decimal': NumberDecimal('2.00')},
|
|
{'decimal': NumberDecimal('12345678901234.56789012345678901234')},
|
|
{'decimal': NumberDecimal('NaN')},
|
|
{'decimal': NumberDecimal('-NaN')},
|
|
{'decimal': NumberDecimal('Infinity')},
|
|
{'decimal': NumberDecimal('-Infinity')},
|
|
]),
|
|
'Initial insertion failed');
|
|
|
|
assert.eq(col.find({'decimal': {$eq: NumberDecimal('1')}}).count(), '2');
|
|
assert.eq(col.find({'decimal': {$lt: NumberDecimal('1.00000000000001')}}).count(), 6);
|
|
assert.eq(col.find({'decimal': {$gt: NumberDecimal('1.5')}}).count(), 3);
|
|
|
|
assert.eq(col.find({'decimal': {$gte: NumberDecimal('2.000')}}).count(), 3);
|
|
assert.eq(col.find({'decimal': {$lte: NumberDecimal('0.9999999999999999')}}).count(), 4);
|
|
|
|
assert.eq(
|
|
col.find({'decimal': {$nin: [NumberDecimal('Infinity'), NumberDecimal('-Infinity')]}}).count(),
|
|
9,
|
|
'Infinity count incorrect');
|
|
|
|
// Test $mod
|
|
col.drop();
|
|
assert.commandWorked(col.insert([
|
|
{'decimal': NumberDecimal('0')},
|
|
{'decimal': NumberDecimal('0.00')},
|
|
{'decimal': NumberDecimal('-0')},
|
|
{'decimal': NumberDecimal('1.0')},
|
|
{'decimal': NumberDecimal('1.00')},
|
|
{'decimal': NumberDecimal('2.00')},
|
|
]),
|
|
'2 insertion failed');
|
|
assert.eq(col.find({'decimal': {$mod: [2, 0]}}).count(), 4, "$mod count incorrect");
|
|
}());
|