or:

doc = {
    'tags' : {
        'name=A440',
        'highway=secondary',
        'oneway=yes'
    }
);
db.poi.createIndex( { 'tags' : 1 } );

// Road with name=Strand
db.poi.find( { 'tags' : 'name=Strand' } );
// All roads
db.poi.find( { 'tags' : /^highway=/ } );
  • One index required
  • Good for finding key/value combinations
  • Good enough for doing the "all roads" question