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

Kueri Bersarang MongoDB Hanya Mengembalikan Hasil Terakhir yang Terjadi

Untuk menavigasi async js, saya melakukan beberapa ke sana kemari memancarkan dengan socket.io dan berhasil

di sisi server

var query = records.find({$or:[{starter:data},{receiver:data}]},{});//check the records table for all persons the logged in user has spoken to
query.sort('-createDate').exec(function (err, docs){
    if(err) throw err;

    for(var i=docs.length-1; i>= 0; i--)
    {

       var starter  = docs[i].starter;
        var receiver = docs[i].receiver;
        var lasttxt = docs[i].lastMessage; 

        if (starter == socket.usernames){
          var target = receiver;
        }else
        {
          var target = starter;
        }

      var userlast = target+" "+lasttxt;
                socket.emit('lastly', userlast);//Emit the username and last message for the client to emit back here
    }
})

Di sisi klien Anda, Ambil data yang dipancarkan

 socket.on('lastly', function(data){//Recieve the data and send right back
                  socket.emit('lastly2', data);
              });

Kembali ke sisi server Anda, ambil data yang dikirim kembali

socket.on('lastly2', function(data){//receive the username and last message to work with

var check = data;
var space = check.indexOf(' ');
var name = check.substr(0, space);
var msg = check.substr(space+1);

usersrec.find({username:name},{}).lean().exec(function (errx, docx){
            if(errx) throw errx;

            docx[0].message = msg;
            socket.emit('usernames', docx);
      });

Ya itu mungkin tidak lazim, tapi setidaknya itu menyelesaikan pekerjaan. Saya terbuka untuk saran yang lebih baik




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb mapreduce scope - ReferenceError

  2. MongoDB PILIH JUMLAH KELOMPOK OLEH

  3. Bisakah bidang yang sama digunakan di $sert, $unset of update(aggregate)

  4. Mongodb:`com.mongodb.MongoSocketReadException:Prematur mencapai akhir aliran` dengan morphia

  5. mongodb.countDocuments lambat ketika set hasil besar bahkan jika indeks digunakan