summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2013-05-19 21:18:32 -0400
committerEliot Horowitz <eliot@10gen.com>2013-05-19 21:18:32 -0400
commit551cb75376b86b059b846f12ad40f0c6bb638c2f (patch)
tree3d15437592c85f4bd183e5ae33a09947f2a165f0
parent705872c7e387f65a15d4c24163627f65b50be21d (diff)
downloadmongo-551cb75376b86b059b846f12ad40f0c6bb638c2f.tar.gz
SERVER-6400: additional update test
-rw-r--r--jstests/pull_or.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/pull_or.js b/jstests/pull_or.js
new file mode 100644
index 00000000000..905c7a87060
--- /dev/null
+++ b/jstests/pull_or.js
@@ -0,0 +1,21 @@
+
+t = db.pull_or;
+t.drop();
+
+doc = { _id : 1 , a : { b : [ { x : 1 },
+ { y : 'y' },
+ { x : 2 },
+ { z : 'z' } ] } };
+
+t.insert( doc );
+
+t.update({}, { $pull : { 'a.b' : { 'y' : { $exists : true } } } } );
+
+assert.eq( [ { x : 1 }, { x : 2 }, { z : 'z' } ], t.findOne().a.b );
+
+t.drop();
+t.insert( doc );
+t.update({}, { $pull : { 'a.b' : { $or : [ { 'y' : { $exists : true } },
+ { 'z' : { $exists : true } } ] } } } );
+
+assert.eq( [ { x : 1 }, { x : 2 } ], t.findOne().a.b );