in reply to Re^2: MongoDB Stored procedure from Dancer2
in thread MongoDB Stored procedure from Dancer2

All I can suggest is the perl equivalent of the getNextSequence function

my $filter = {'_id' => 'userid'}; my $update = { '$inc' => { 'seq' => 1} }; my $col = $db->get_collection('counters'); $col->update($filter,$update); my $id = $col->find_one($filter)->{'seq'}; print $id;

You can probably use find_one_and_update() but it didn't work on my old version 0.45 of MongoDB

poj

Replies are listed 'Best First'.
Re^4: MongoDB Stored procedure from Dancer2
by actarus2003 (Novice) on Mar 29, 2017 at 10:21 UTC

    Poj,

    your suggestion is the right way, i will start from here.

    I Just underline update is deprecated

    @4000000058db6ef81e84eb6c # *** DEPRECATION WARNING *** @4000000058db6ef81e84eb6c # @4000000058db6ef81e84eb6c # The 'update' method will be removed in a f +uture major release. @4000000058db6ef81e84ef54 # Use $_, $_ or 'replace_one' instead.

    so i made a little modification

    my $col = $db->get_collection('counters'); $col->update_one({'_id' => 'comm-id'},{ '$inc' => { 'seq' => 1}}); my $id = $col->find_one({'_id' => 'comm-id'})->{'seq'};

    so now it is working.

    Thanks so much, it really help!

      Hi, sorry for long delay. I solved storing the function using mongo shell, then i had just to call in my procedure.