MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Truy vấn lồng nhau MongoDB Chỉ trả về kết quả xuất hiện cuối cùng

Để điều hướng js async, tôi đã thực hiện một số bước phát ra với socket.io và nó hoạt động

ở phía máy chủ

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

Về phía khách hàng của bạn, hãy chọn dữ liệu đã phát ra

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

Quay lại phía máy chủ của bạn, lấy dữ liệu được gửi lại

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

Vâng, nó có thể là không chính thống, nhưng ít nhất nó cũng hoàn thành công việc. Tôi sẵn sàng đón nhận gợi ý tốt hơn tho




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hủy đăng ký MongoDB BSON

  2. 2 cách thay thế chuỗi con trong MongoDB

  3. MongoDB Regex Tìm kiếm trên Giá trị Số nguyên

  4. Sự cố khi đăng dữ liệu JSON (với yêu cầu nút) lên máy chủ Express để lưu vào MongoDB

  5. cách cấu trúc một chỉ mục phức hợp trong mongodb