summaryrefslogtreecommitdiff
path: root/jstests/core/distinct1.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-01-14 14:09:42 -0500
committerRandolph Tan <randolph@10gen.com>2014-02-28 16:26:33 -0500
commit5595b945603b0712c537787e31e6da661c424fee (patch)
tree90945ee3fe4931032f3af2d397bb755fbf5d30ef /jstests/core/distinct1.js
parentcd62080dcb036e83f8fca6d68d9bcab67bf7a21c (diff)
downloadmongo-5595b945603b0712c537787e31e6da661c424fee.tar.gz
SERVER-12127 migrate js tests to jscore suite when not related to writes
Moved test jstest/[a-i].js -> jstests/core/ and made changes to comply with write command api
Diffstat (limited to 'jstests/core/distinct1.js')
-rw-r--r--jstests/core/distinct1.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/jstests/core/distinct1.js b/jstests/core/distinct1.js
new file mode 100644
index 00000000000..03e425af761
--- /dev/null
+++ b/jstests/core/distinct1.js
@@ -0,0 +1,40 @@
+
+t = db.distinct1;
+t.drop();
+
+assert.eq( 0 , t.distinct( "a" ).length , "test empty" );
+
+t.save( { a : 1 } )
+t.save( { a : 2 } )
+t.save( { a : 2 } )
+t.save( { a : 2 } )
+t.save( { a : 3 } )
+
+
+res = t.distinct( "a" );
+assert.eq( "1,2,3" , res.toString() , "A1" );
+
+assert.eq( "1,2" , t.distinct( "a" , { a : { $lt : 3 } } ) , "A2" );
+
+t.drop();
+
+t.save( { a : { b : "a" } , c : 12 } );
+t.save( { a : { b : "b" } , c : 12 } );
+t.save( { a : { b : "c" } , c : 12 } );
+t.save( { a : { b : "c" } , c : 12 } );
+
+res = t.distinct( "a.b" );
+assert.eq( "a,b,c" , res.toString() , "B1" );
+printjson(t._distinct( "a.b" ).stats);
+assert.eq( "BasicCursor" , t._distinct( "a.b" ).stats.cursor , "B2" )
+
+t.drop();
+
+t.save({_id: 1, a: 1});
+t.save({_id: 2, a: 2});
+
+// Test distinct with _id.
+res = t.distinct( "_id" );
+assert.eq( "1,2", res.toString(), "C1" );
+res = t.distinct( "a", {_id: 1} );
+assert.eq( "1", res.toString(), "C2" );