Files
mongo/jstests/core/ref.js
2014-06-06 13:40:17 -04:00

30 lines
933 B
JavaScript

// to run:
// ./mongo jstests/ref.js
db.otherthings.drop();
db.things.drop();
var other = { s : "other thing", n : 1};
db.otherthings.save(other);
db.things.save( { name : "abc" } );
x = db.things.findOne();
x.o = new DBPointer( "otherthings" , other._id );
db.things.save(x);
assert( db.things.findOne().o.fetch().n == 1, "dbref broken 2" );
other.n++;
db.otherthings.save(other);
assert( db.things.findOne().o.fetch().n == 2, "dbrefs broken" );
db.getSiblingDB("otherdb").dropDatabase();
var objid = new ObjectId();
db.getSiblingDB("otherdb").getCollection("othercoll").insert({_id:objid, field:"value"});
var subdoc = db.getSiblingDB("otherdb").getCollection("othercoll").findOne({_id:objid})
db.mycoll.drop();
db.mycoll.insert({_id:"asdf", asdf:new DBRef("othercoll", objid, "otherdb")});
var doc = db.mycoll.findOne({_id:"asdf"}, {_id:0, asdf:1});
assert.eq(tojson(doc.asdf.fetch()), tojson(subdoc), "otherdb dbref");