summaryrefslogtreecommitdiff
path: root/jstests/core/dbref2.js
blob: d1b4870322da511c2c6a1e04dab9ac488d051224 (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" );