summaryrefslogtreecommitdiff
path: root/jstests/insert1.js
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2010-01-27 15:52:28 -0500
committerMathias Stearn <mathias@10gen.com>2010-01-27 15:52:28 -0500
commit0048e481c5974e1122da678e98318419e65ea8d4 (patch)
tree8bb3a80ee054c22ad723d36f1a9bff48636b4aed /jstests/insert1.js
parentf52bc8f43a39b8e45439796e5854ef1041ff29f4 (diff)
downloadmongo-0048e481c5974e1122da678e98318419e65ea8d4.tar.gz
db.c.insert() now generates and returns _id. SERVER-288
Diffstat (limited to 'jstests/insert1.js')
-rw-r--r--jstests/insert1.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/jstests/insert1.js b/jstests/insert1.js
new file mode 100644
index 00000000000..a6ce4093cf8
--- /dev/null
+++ b/jstests/insert1.js
@@ -0,0 +1,37 @@
+t = db.insert1;
+t.drop();
+
+o = {a:1};
+id = t.insert(o);
+assert.eq(o, {a:1}, "input unchanged 1");
+assert.eq(typeof(id), "object", "1");
+assert.eq(id.constructor, ObjectId, "1");
+assert.eq(t.findOne({_id:id}).a, 1, "find by id 1");
+assert.eq(t.findOne({a:1})._id, id , "find by val 1");
+
+o = {a:2, _id:new ObjectId()};
+id1 = o._id
+id2 = t.insert(o);
+assert.eq(id1, id2, "ids match 2");
+assert.eq(o, {a:2, _id:id1}, "input unchanged 2");
+assert.eq(typeof(id2), "object", "2");
+assert.eq(id2.constructor, ObjectId, "2");
+assert.eq(t.findOne({_id:id1}).a, 2, "find by id 2");
+assert.eq(t.findOne({a:2})._id, id1 , "find by val 2");
+
+o = {a:3, _id:"asdf"};
+id1 = o._id
+id2 = t.insert(o);
+assert.eq(id1, id2, "ids match 3");
+assert.eq(o, {a:3, _id:id1}, "input unchanged 3");
+assert.eq(typeof(id2), "string", "3");
+assert.eq(t.findOne({_id:id1}).a, 3, "find by id 3");
+assert.eq(t.findOne({a:3})._id, id1 , "find by val 3");
+
+o = {a:4, _id:null};
+id1 = o._id
+id2 = t.insert(o);
+assert.eq(id1, id2, "ids match 4");
+assert.eq(o, {a:4, _id:id1}, "input unchanged 4");
+assert.eq(t.findOne({_id:id1}).a, 4, "find by id 4");
+assert.eq(t.findOne({a:4})._id, id1 , "find by val 4");