summaryrefslogtreecommitdiff
path: root/jstests/geo_update.js
diff options
context:
space:
mode:
authorAntonin Kral <a.kral@bobek.cz>2011-08-23 08:47:17 +0200
committerAntonin Kral <a.kral@bobek.cz>2011-08-23 08:47:17 +0200
commitcbe2d992e9cd1ea66af9fa91df006106775d3073 (patch)
treefca8e11a8ab7f063ae26802016068f9c814f6176 /jstests/geo_update.js
parent64b33ee522375a8dc15be2875dfb7db4502259b0 (diff)
downloadmongodb-cbe2d992e9cd1ea66af9fa91df006106775d3073.tar.gz
Imported Upstream version 1.8.3
Diffstat (limited to 'jstests/geo_update.js')
-rw-r--r--jstests/geo_update.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/jstests/geo_update.js b/jstests/geo_update.js
new file mode 100644
index 0000000..dd4b28c
--- /dev/null
+++ b/jstests/geo_update.js
@@ -0,0 +1,37 @@
+// Tests geo queries w/ update & upsert
+// from SERVER-3428
+
+var coll = db.testGeoUpdate
+coll.drop()
+
+coll.ensureIndex({ loc : "2d" })
+
+// Test normal update
+print( "Updating..." )
+
+coll.insert({ loc : [1.0, 2.0] })
+
+coll.update({ loc : { $near : [1.0, 2.0] } },
+ { x : true, loc : [1.0, 2.0] })
+
+// Test upsert
+print( "Upserting..." )
+
+coll.update({ loc : { $within : { $center : [[10, 20], 1] } } },
+ { x : true },
+ true)
+
+coll.update({ loc : { $near : [10.0, 20.0], $maxDistance : 1 } },
+ { x : true },
+ true)
+
+
+coll.update({ loc : { $near : [100, 100], $maxDistance : 1 } },
+ { $set : { loc : [100, 100] }, $push : { people : "chris" } },
+ true)
+
+coll.update({ loc : { $near : [100, 100], $maxDistance : 1 } },
+ { $set : { loc : [100, 100] }, $push : { people : "john" } },
+ true)
+
+assert.eq( 4, coll.find().itcount() )