MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapytanie zagnieżdżone MongoDB zwraca tylko ostatni wynik

Aby nawigować po async js, wykonałem kilka emisji tam i z powrotem za pomocą socket.io i zadziałało

po stronie serwera

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
    }
})

Po stronie klienta odbierz emitowane dane

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

Z powrotem po stronie serwera, odbierz odesłane dane

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);
      });

Tak, to prawdopodobnie niekonwencjonalne, ale przynajmniej wykonuje swoją pracę. Jestem jednak otwarty na lepsze sugestie




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można uruchomić MongoDB. BŁĄD:adres jest już używany

  2. Spring boot + mongodb + problem z połączeniem z trasą wielbłąda

  3. MongoDB '$or' i wyrażenie regularne w PHP

  4. Umieszczanie w Mongo DB przy użyciu oficjalnego sterownika C#

  5. Przetwarzaj JSON do dokumentu MONGODB