Zorg er eerst voor dat u de juiste syntaxis gebruikt. Uw eerste voorbeeld is geen geldige Perl-code, omdat u een stuk JSON als queryparameter opneemt.
Ten tweede, ervan uitgaande dat deze ID-waarden MongoDB ObjectID's zijn, moet u OID-objecten maken om ze te onderscheiden van gewone tekenreeksen. En zorg ervoor dat u enkele aanhalingstekens gebruikt (''
) rond $in
, anders zal Perl proberen $in
te interpoleren als een variabele (die vermoedelijk niets bevat).
Dus ik neem aan dat je zoiets als dit wilt doen:
$db->$collection->find( {
"_id" => {
'$in' => [ MongoDB::OID->new( value => "4f520122ecf6171327000137" ),
MongoDB::OID->new( value => "4f4f49c09d1bd90728000034" )
]
}
} );
Bewerken:Bovendien is het gebruik van automatisch geladen methodenamen om collecties op te halen al een tijdje niet meer beschikbaar. U kunt beter $db->get_collection( "collection name" )->find( ... )
gebruiken