sql >> Databáze >  >> NoSQL >> MongoDB

$in operátor mongoDB s _id v perlu

Nejprve se ujistěte, že používáte správnou syntaxi. Váš první příklad není platným kódem Perl, protože jako parametr dotazu používáte část JSON.

Za druhé, za předpokladu, že tyto hodnoty ID jsou MongoDB ObjectID, budete muset vytvořit OID objekty, abyste je odlišili od běžných řetězců. A ujistěte se, že používáte jednoduché uvozovky ('' ) kolem $in , jinak se Perl pokusí interpolovat $in jako proměnná (která v sobě pravděpodobně nic nemá).

Předpokládám tedy, že chcete udělat něco takového:

$db->$collection->find( {
    "_id" => { 
        '$in' => [ MongoDB::OID->new( value => "4f520122ecf6171327000137" ), 
                   MongoDB::OID->new( value => "4f4f49c09d1bd90728000034" )
                 ]
             } 
} );

Upravit:Navíc používání automaticky načtených názvů metod k načítání kolekcí bylo na nějakou dobu zastaralé. Raději použijte $db->get_collection( "collection name" )->find( ... )




  1. Jaký je nejúčinnější databázový stroj orientovaný na dokumenty pro ukládání tisíců středně velkých dokumentů?

  2. Tento uzel nebyl spuštěn s možností replSet

  3. Jak získat aktuální obsazenost fondu připojení na klientovi pomocí ovladače mongo .net?

  4. Mongodb textové vyhledávání více polí