a = db.dbref2a; b = db.dbref2b; c = db.dbref2c; a.drop(); b.drop(); c.drop(); a.save({name: "eliot"}); b.save({num: 1, link: new DBRef("dbref2a", a.findOne()._id)}); c.save({num: 1, links: [new DBRef("dbref2a", a.findOne()._id)]}); assert.eq("eliot", b.findOne().link.fetch().name, "A"); assert.neq("el", b.findOne().link.fetch().name, "B"); // $elemMatch value var doc = c.findOne({links: {$elemMatch: {$ref: "dbref2a", $id: a.findOne()._id}}}); assert.eq("eliot", doc.links[0].fetch().name, "C"); assert.neq("el", doc.links[0].fetch().name, "D");