MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

$in operator mongoDB dengan _id di perl

Pertama, pastikan Anda menggunakan sintaks yang benar. Contoh pertama Anda bukan kode Perl yang valid, karena Anda menyertakan sepotong JSON sebagai parameter kueri.

Kedua, dengan asumsi nilai ID ini adalah milik MongoDB ObjectID, Anda harus membuat objek OID untuk membedakannya dari string biasa. Dan pastikan untuk menggunakan tanda kutip tunggal ('' ) sekitar $in , jika tidak, Perl akan mencoba menginterpolasi $in sebagai variabel (yang mungkin tidak memiliki apa-apa di dalamnya).

Jadi saya berasumsi Anda ingin melakukan sesuatu seperti ini:

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

Sunting:Selain itu, menggunakan nama metode yang dimuat secara otomatis untuk mengambil koleksi telah ditinggalkan untuk sementara waktu. Anda lebih baik menggunakan $db->get_collection( "collection name" )->find( ... )




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. kueri mongodb tanpa nama bidang

  2. mongoengine +django cara menghitung jumlah item dari konten yang sama

  3. Menentukan Parameter Kueri Mongo Dari Pengontrol Klien (MEAN.JS)

  4. Operator '$size' tidak valid dalam agregasi

  5. Bagaimana cara menghapus mongodb versi lama dan menginstal yang baru di cloud9 IDE?