MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB नेस्टेड क्वेरी केवल अंतिम परिणाम प्राप्त करती है

जेएस एसिंक्स को नेविगेट करने के लिए, मैंने सॉकेट.आईओ के साथ उत्सर्जन करने के लिए कुछ किया और यह काम किया

सर्वर साइड पर

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 शार्क और कॉन्फ़िगरेशन सर्वर?

  2. कॉन्फ़िगरेशन त्रुटि:127.0.0.1:27017 पर सर्वर वायर संस्करण 0 की रिपोर्ट करता है, लेकिन PyMongo के इस संस्करण में कम से कम 2 (MongoDB 2.6) की आवश्यकता होती है।

  3. oplog.rs में ts फ़ील्ड पर अनुक्रमणिका अद्यतन नहीं है

  4. फ़ील्ड के आधार पर डुप्लिकेट दस्तावेज़ निकालें

  5. Django - MongoDB:(लोकलहोस्ट से कनेक्ट नहीं हो सका:27017) कनेक्शन ने इनकार कर दिया