2011-03-23 3 views
0

Comment convertir la commande suivante en Perl?Exécuter MongoDB en Perl

dn.runCommand({group : { 
    "ns"  : "stocks", 
    "key"  : "date", 
    "initial" : {"time" : 0}, 
    "$reduce" : function(doc, prev) { 
     if (doc.time > prev.time) { 
      prev.time = doc.time; 
      prev.price = doc.price; 
      } 
     }, 
    "condition" : {"day" : { "$gt" : "2020/09/30 }} 
    }} 
) 

Cordialement.

+0

Je ne l'ai jamais utilisé MongoDB donc je n'ai pas une aide spécifique, mais je vous suggère que l'utilisation du [module de MongoDB] (http://search.cpan.org/dist/MongoDB/) du CPAN serait un bon début. –

+0

Je suis un débutant, donc je ne pense jamais à écrire mon propre pilote mongodb. Si vous avez un peu d'expérience avec cpan mongodb, vous devez savoir que la commande dans mongo console est différente de cpan mongodb. – Weiyan

Répondre

0

Je n'ai pas testé le code ci-dessous, mais cela fonctionne peut-être.

use MongoDB; 
my $db = MongoDB::Connection->new->test; 
$db->run_command({ 
group => { 
    "ns"  => "stocks", 
    "key"  => "date", 
    "initial" => {"time" => 0}, 
    '$reduce' => 'function(doc, prev) { 
     if (doc.time > prev.time) { 
      prev.time = doc.time; 
      prev.price = doc.price; 
     } 
    }', 
    "condition" => {"day" => { '$gt' => "2020/09/30" }} 
}} 
); 
Questions connexes