Files
mongo/jstests/core/query/dbref/ref.js
Steve McClure 1ffbc6c2e9 SERVER-109432: Autofix JS var usage to favor let (#40637)
GitOrigin-RevId: 9674b7db36a0f3f650d39c1e3fb2ad6ff2141cfb
2025-08-28 19:21:01 +00:00

32 lines
1.0 KiB
JavaScript

db.otherthings.drop();
db.things.drop();
let other = {s: "other thing", n: 1};
db.otherthings.save(other);
// Verify that the DBPointer prototype is not serializable
assert.throws(function () {
db.things.save({a: DBPointer.prototype});
});
db.things.save({name: "abc"});
let 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();
let objid = new ObjectId();
db.getSiblingDB("otherdb").getCollection("othercoll").insert({_id: objid, field: "value"});
let subdoc = db.getSiblingDB("otherdb").getCollection("othercoll").findOne({_id: objid});
db.mycoll.drop();
db.mycoll.insert({_id: "asdf", asdf: new DBRef("othercoll", objid, "otherdb")});
let doc = db.mycoll.findOne({_id: "asdf"}, {_id: 0, asdf: 1});
assert.eq(tojson(doc.asdf.fetch()), tojson(subdoc), "otherdb dbref");