summaryrefslogtreecommitdiff
path: root/jstests/core/dbref2.js
blob: 9f3cb4e2ca47b865a7c3d53fe119e0a87403a92f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

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");