I've been caught by that before. Try [% entries.$id.item('_id') %]. For some reason (would interested to learn what), TT doesn't seem to be able to cope with leading underscores in data structures. You can prove entries contains data using:

[% USE Dumper(Indent=1) %]
[% FOREACH id IN entries %]
  <pre>[% Dumper.dump(id) %]</pre>
[% END %]

or just [% Dumper.dump(entries) %]

On 18/10/2017 06:28, Gavin Colborne wrote:
Hi Dancers,

I am pretty new to Dancer and really like the light nature of the framework.

I am trying to create a route which will show data from a MongoDB collection and struggling with the syntax.

I have the following in my app:

    sub connect_mongo {
        my $client = MongoDB->connect('mongodb://a.b.c.d') or die
    "Error connecting to Mongo";
    my $db = $client->get_database( 'lfi-perl' );
    return($db);
    }

    get '/mongo' => sub {
        my $db = connect_mongo();
    my $docs = $db->get_collection( 'Test-Collection' );
    my $all_docs;
         template 'show_mongo.tt <http://show_mongo.tt>', {
             'entries' => $all_docs = $docs->find(),
         };
    };

    Then in my view the following:

    [% FOREACH id IN entries.keys.nsort %]
    [% entries.$id._id %]



I am not able to see any data in my view but am also not seeing any errors.

Any examples of getting data from Mongo in Dancer would be really helpful.

Thank you in advance,

Gavin







Best Regards,

Gavin Colborne

Managing Director,

Tele:     0207 193 2014
Mobile: 0788 400 4339
Skype: gavincolborne
Visit: www.littleforest.co.uk <http://www.littleforest.co.uk/>

Little Forest LFi <http://www.littleforest.co.uk/>


_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

--
Richard Jones

_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Reply via email to