summaryrefslogtreecommitdiff
path: root/jstests/core/exists.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/exists.js')
-rw-r--r--jstests/core/exists.js83
1 files changed, 41 insertions, 42 deletions
diff --git a/jstests/core/exists.js b/jstests/core/exists.js
index e41a7cfde04..a29f0cb1d45 100644
--- a/jstests/core/exists.js
+++ b/jstests/core/exists.js
@@ -1,49 +1,48 @@
t = db.jstests_exists;
t.drop();
-t.save( {} );
-t.save( {a:1} );
-t.save( {a:{b:1}} );
-t.save( {a:{b:{c:1}}} );
-t.save( {a:{b:{c:{d:null}}}} );
-
-function dotest( n ){
-
- assert.eq( 5, t.count() , n );
- assert.eq( 1, t.count( {a:null} ) , n );
- assert.eq( 2, t.count( {'a.b':null} ) , n );
- assert.eq( 3, t.count( {'a.b.c':null} ) , n );
- assert.eq( 5, t.count( {'a.b.c.d':null} ) , n );
-
- assert.eq( 5, t.count() , n );
- assert.eq( 4, t.count( {a:{$ne:null}} ) , n );
- assert.eq( 3, t.count( {'a.b':{$ne:null}} ) , n );
- assert.eq( 2, t.count( {'a.b.c':{$ne:null}} ) , n );
- assert.eq( 0, t.count( {'a.b.c.d':{$ne:null}} ) , n );
-
- assert.eq( 4, t.count( {a: {$exists:true}} ) , n );
- assert.eq( 3, t.count( {'a.b': {$exists:true}} ) , n );
- assert.eq( 2, t.count( {'a.b.c': {$exists:true}} ) , n );
- assert.eq( 1, t.count( {'a.b.c.d': {$exists:true}} ) , n );
-
- assert.eq( 1, t.count( {a: {$exists:false}} ) , n );
- assert.eq( 2, t.count( {'a.b': {$exists:false}} ) , n );
- assert.eq( 3, t.count( {'a.b.c': {$exists:false}} ) , n );
- assert.eq( 4, t.count( {'a.b.c.d': {$exists:false}} ) , n );
+t.save({});
+t.save({a: 1});
+t.save({a: {b: 1}});
+t.save({a: {b: {c: 1}}});
+t.save({a: {b: {c: {d: null}}}});
+
+function dotest(n) {
+ assert.eq(5, t.count(), n);
+ assert.eq(1, t.count({a: null}), n);
+ assert.eq(2, t.count({'a.b': null}), n);
+ assert.eq(3, t.count({'a.b.c': null}), n);
+ assert.eq(5, t.count({'a.b.c.d': null}), n);
+
+ assert.eq(5, t.count(), n);
+ assert.eq(4, t.count({a: {$ne: null}}), n);
+ assert.eq(3, t.count({'a.b': {$ne: null}}), n);
+ assert.eq(2, t.count({'a.b.c': {$ne: null}}), n);
+ assert.eq(0, t.count({'a.b.c.d': {$ne: null}}), n);
+
+ assert.eq(4, t.count({a: {$exists: true}}), n);
+ assert.eq(3, t.count({'a.b': {$exists: true}}), n);
+ assert.eq(2, t.count({'a.b.c': {$exists: true}}), n);
+ assert.eq(1, t.count({'a.b.c.d': {$exists: true}}), n);
+
+ assert.eq(1, t.count({a: {$exists: false}}), n);
+ assert.eq(2, t.count({'a.b': {$exists: false}}), n);
+ assert.eq(3, t.count({'a.b.c': {$exists: false}}), n);
+ assert.eq(4, t.count({'a.b.c.d': {$exists: false}}), n);
}
-dotest( "before index" );
-t.ensureIndex( { "a" : 1 } );
-t.ensureIndex( { "a.b" : 1 } );
-t.ensureIndex( { "a.b.c" : 1 } );
-t.ensureIndex( { "a.b.c.d" : 1 } );
-dotest( "after index" );
-assert.eq( 1, t.find( {a: {$exists:false}} ).hint( {a:1} ).itcount() );
-
+dotest("before index");
+t.ensureIndex({"a": 1});
+t.ensureIndex({"a.b": 1});
+t.ensureIndex({"a.b.c": 1});
+t.ensureIndex({"a.b.c.d": 1});
+dotest("after index");
+assert.eq(1, t.find({a: {$exists: false}}).hint({a: 1}).itcount());
+
t.drop();
-t.save( {r:[{s:1}]} );
-assert( t.findOne( {'r.s':{$exists:true}} ) );
-assert( !t.findOne( {'r.s':{$exists:false}} ) );
-assert( !t.findOne( {'r.t':{$exists:true}} ) );
-assert( t.findOne( {'r.t':{$exists:false}} ) );
+t.save({r: [{s: 1}]});
+assert(t.findOne({'r.s': {$exists: true}}));
+assert(!t.findOne({'r.s': {$exists: false}}));
+assert(!t.findOne({'r.t': {$exists: true}}));
+assert(t.findOne({'r.t': {$exists: false}}));