MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB вложената заявка връща само последния възникнал резултат

За да навигирам в js async, направих някои излъчвания насам-натам със socket.io и проработи

от страната на сървъра

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

От страна на вашия клиент вземете излъчените данни

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

Обратно от страната на вашия сървър, вземете данните, изпратени обратно

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

Да, вероятно е неортодоксално, но поне върши работата. Отворен съм за по-добри предложения




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb findAndModify възел js

  2. Съхранявайте XML данни в колекция mongodb

  3. Определете дали записът е нов в обратното извикване за предварително запазване

  4. Извършване на различни заявки с MongoMapper

  5. Spring Data MongoDB с Java 8 LocalDate MappingException