20 lines
565 B
JavaScript
20 lines
565 B
JavaScript
let a = db.dbref2a;
|
|
let b = db.dbref2b;
|
|
let 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
|
|
let 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");
|