Thanks Richard and everyone, I added the ".item" so my view shows: [% entries.$id.item('time') %] I still don't see any results :( I now see in my terminal the following: Argument "client" isn't numeric in numeric comparison (<=>) Which from what I can tell from Gabor's great site https://perlmaven.com/argument-isnt-numeric-in-numeric is some numeric operation problem. Do you have any examples of controllers passing Mongo data to views so I can compare? My code so far - perhaps the controller is the issue? 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', { 'entries' => $all_docs = $docs->find(), }; }; Appreciate your help, Gavin Best Regards, Gavin Colborne Managing Director, Tele: 0207 193 2014 Mobile: 0788 400 4339 Skype: gavincolborne Visit: www.littleforest.co.uk [image: Little Forest LFi] <http://www.littleforest.co.uk/> On 18 October 2017 at 10:13, Richard Jones <ra.jones@dpw.clara.co.uk> wrote:
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', { '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
[image: Little Forest LFi] <http://www.littleforest.co.uk/>
_______________________________________________ dancer-users mailing listdancer-users@dancer.pmhttp://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