diff options
Diffstat (limited to 'jstests/unique2.js')
-rw-r--r-- | jstests/unique2.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/jstests/unique2.js b/jstests/unique2.js new file mode 100644 index 0000000..42cf9fb --- /dev/null +++ b/jstests/unique2.js @@ -0,0 +1,41 @@ + +t = db.jstests_unique2; + +t.drop(); + +/* test for good behavior when indexing multikeys */ + +t.insert({k:3}); +t.insert({k:[2,3]}); +t.insert({k:[4,3]}); + +t.ensureIndex({k:1}, {unique:true, dropDups:true}); + +assert( t.count() == 1 ) ; +assert( t.find().sort({k:1}).toArray().length == 1 ) ; +assert( t.find().sort({k:1}).count() == 1 ) ; + +t.drop(); + +t.ensureIndex({k:1}, {unique:true}); + +t.insert({k:3}); +t.insert({k:[2,3]}); +t.insert({k:[4,3]}); + +assert( t.count() == 1 ) ; +assert( t.find().sort({k:1}).toArray().length == 1 ) ; +assert( t.find().sort({k:1}).count() == 1 ) ; + +t.dropIndexes(); + +t.insert({k:[2,3]}); +t.insert({k:[4,3]}); +assert( t.count() == 3 ) ; + +t.ensureIndex({k:1}, {unique:true, dropDups:true}); + +assert( t.count() == 1 ) ; +assert( t.find().sort({k:1}).toArray().length == 1 ) ; +assert( t.find().sort({k:1}).count() == 1 ) ; + |