Trước tiên, hãy đảm bảo rằng bạn đang sử dụng đúng cú pháp. Ví dụ đầu tiên của bạn không phải là mã Perl hợp lệ, vì bạn đang bao gồm một đoạn JSON làm tham số truy vấn.
Thứ hai, giả sử các giá trị ID này là của MongoDB ObjectID, bạn sẽ cần tạo các đối tượng OID để phân biệt chúng với các chuỗi thông thường. Và đảm bảo sử dụng các dấu ngoặc kép (''
) khoảng $in
, nếu không Perl sẽ cố gắng nội suy $in
dưới dạng một biến (có lẽ không có gì trong đó).
Vì vậy, tôi giả sử bạn muốn làm điều gì đó như sau:
$db->$collection->find( {
"_id" => {
'$in' => [ MongoDB::OID->new( value => "4f520122ecf6171327000137" ),
MongoDB::OID->new( value => "4f4f49c09d1bd90728000034" )
]
}
} );
Chỉnh sửa:Ngoài ra, việc sử dụng tên phương thức tự động tải để truy xuất bộ sưu tập đã không được chấp nhận trong một thời gian. Tốt hơn hết bạn nên sử dụng $db->get_collection( "collection name" )->find( ... )