diff options
author | Mathias Stearn <mathias@10gen.com> | 2010-01-27 15:52:28 -0500 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2010-01-27 15:52:28 -0500 |
commit | 0048e481c5974e1122da678e98318419e65ea8d4 (patch) | |
tree | 8bb3a80ee054c22ad723d36f1a9bff48636b4aed /jstests/insert1.js | |
parent | f52bc8f43a39b8e45439796e5854ef1041ff29f4 (diff) | |
download | mongo-0048e481c5974e1122da678e98318419e65ea8d4.tar.gz |
db.c.insert() now generates and returns _id. SERVER-288
Diffstat (limited to 'jstests/insert1.js')
-rw-r--r-- | jstests/insert1.js | 37 |
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"); |