diff options
Diffstat (limited to 'jstests/dbref2.js')
-rw-r--r-- | jstests/dbref2.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/jstests/dbref2.js b/jstests/dbref2.js new file mode 100644 index 00000000000..d1b4870322d --- /dev/null +++ b/jstests/dbref2.js @@ -0,0 +1,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" ); |