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

sistem percakapan mongodb

Lihat halaman ini tentang cara melakukan kueri MongoDB lanjutan:http://www .mongodb.org/display/DOCS/Advanced+Queries

Anda dapat menggunakan kombinasi $and dan $in operator untuk mendapatkan apa yang Anda butuhkan. Menggunakan shell mongo, kueri Anda akan terlihat seperti ini:

db.yourCollectionName.find({$and: {from: {$in: ["toUser", "loggedOnUser"]}}, {to: {$in: ["toUser", "loggedOnUser"]}}})

Saya yakin ini juga dapat memberi Anda yang setara:

db.yourCollectionName.find({$and: {$or: [{from: "toUser"}, {to: "toUser"}]}}, {$or: [{from: "loggedOnUser"}, {to: "loggedOnUser"}]}}})

Dari sana, tinggal mengubah hal di atas ke bahasa/DSL yang Anda gunakan, dan mengurutkan berdasarkan tanggal.

Dalam kode Anda, Anda tidak memerlukan ($and => array()) membungkus setiap objek yang Anda coba temukan. Hapus mereka, sehingga terlihat seperti ini:

$cursor = $collection->find(
    array('$or' => 
        array(
            array("from"=>"$profile", "to"=>"$loggeduser"),
            array("to"=>"$profile", "from"=>"$loggeduser")
        )
    )
) ->limit(50)->sort(array('date' => -1));



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $geoNear (pipa agregat) tidak mengembalikan dokumen yang benar

  2. Gambar buruh pelabuhan MongoDb khusus

  3. luwak - ObjectId yang mereferensikan Sub-Dokumen

  4. Kueri Persimpangan Array Bersarang MongoDB

  5. File jurnal ada di direktori jurnal, namun dimulai tanpa penjurnalan diaktifkan