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

मोंगोडब क्वेरी के अंदर कई प्रश्न

Node.js व्यवहार अतुल्यकालिक है, प्रोग्रामर को इस व्यवहार को ध्यान में रखते हुए कोड करना होगा। कॉलबैक या वादे या प्रवाह नियंत्रण पुस्तकालय का प्रयोग करें। अपने प्रोग्राम में, आपने mongo query को लूप के अंदर रखा है, जो कि क्वेरी करने का एक बुरा तरीका है। इसके बजाय यदि कई बार क्वेरी कर रहे हैं, तो $in ऑपरेटर का उपयोग करें। यह आपके कोड प्रदर्शन को अनुकूलित करेगा और आपकी प्रतिक्रिया भेजने की समस्या को भी हल करेगा।

var resultSet = [];
        db.get('busstopcollection').find({id_bus_stop: parseInt(req.body.busstopid)}, function(e, docs){
            if(e || docs.length === 0) {
                console.log("Sorry, wrong id.");
                return e;
            }
            var bus_ids = [];
            for(var m=0; m<docs.length; m++){
                var auxRes = {};
                auxRes.id_bus = docs[m].id_bus; 
                bus_ids.push(parseInt(docs[m].id_bus)); // collect all ids 
                auxRes.id_bus_stop = docs[m].id_bus_stop;
                auxRes.coord_x = docs[m].coord_x;
                auxRes.coord_y = docs[m].coord_y;               
                auxRes.id_bus_variation = docs[m].id_bus_variation;
                resultSet.push(auxRes);         

            }
            // Query at one time for all document 
            db.get('buscollection').find({id_bus: {$in : bus_ids}}).toArray( function(e, busDocs){
                    // Now find and merge in one go
                    busDocs.forEach(function(eachBusDoc){
                        for(var i=0,len = resultSet.length;i< len;i++){
                            if(resultSet[i].id_bus == busDocs.id_bus ){
                                resultSet[i].s_origin_description = eachBusDoc.s_origin_description;
                                resultSet[i].s_destination_description = eachBusDoc.id_destination_description;
                            }
                        }
                    });             
                       res.send(JSON.stringify(resultSet));
                });
        });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नोड फ़ंक्शन में वापसी समाधान त्रुटि

  2. कई दस्तावेज़ों को मोंगोडब डेटाबेस में जोड़े जाने से कैसे रोकें

  3. सभी वर्गों के लिए लागू करें BsonIgnoreExtraElements

  4. PHP को संस्करण 7 में अपग्रेड करने के बाद, मैं mongodb ड्राइवर का उपयोग क्यों नहीं कर सकता?

  5. MongoDB - संग्रह के अंदर नेस्टेड आइटम के लिए क्वेरी कैसे करें?