2009-10-02 17:07:07 -04:00
|
|
|
|
2010-01-04 11:23:12 -08:00
|
|
|
a = db.dbref2a;
|
|
|
|
|
b = db.dbref2b;
|
2013-12-27 15:25:13 -05:00
|
|
|
c = db.dbref2c;
|
2009-10-02 17:07:07 -04:00
|
|
|
|
|
|
|
|
a.drop();
|
|
|
|
|
b.drop();
|
2013-12-27 15:25:13 -05:00
|
|
|
c.drop();
|
2009-10-02 17:07:07 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
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)]});
|
2013-12-27 15:25:13 -05:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.eq("eliot", b.findOne().link.fetch().name, "A");
|
|
|
|
|
assert.neq("el", b.findOne().link.fetch().name, "B");
|
2013-12-27 15:25:13 -05:00
|
|
|
|
|
|
|
|
// $elemMatch value
|
2016-03-09 12:17:50 -05:00
|
|
|
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");
|