mirror of https://github.com/mongodb/mongo
52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
// Find the decimal using query operators
|
|
|
|
let 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");
|