2012-12-31 18 views
43

मैं इस प्रकार सभी उपयोगकर्ताओं की सूची भेजने के लिए नेवला का उपयोग करने की कोशिश की है की पूरी सूची प्राप्त करें:नेवला: उन

server.get('/usersList', function(req, res) { 
    var users = {}; 

    User.find({}, function (err, user) { 
     users[user._id] = user; 
    }); 

    res.send(users); 
}); 
बेशक

, res.send(users);{} भेजने के लिए है, जो है कि मैं क्या नहीं करना चाहता जा रहा है। क्या find थोड़ा अलग अर्थशास्त्र के साथ विकल्प है, जहां मैं निम्नलिखित कर सकता हूं?

server.get('/usersList', function(req, res) {  
    User.find({}, function (err, users) { 
     res.send(users); 
    }); 
}); 

अनिवार्य रूप से, मैं कॉलबैक निष्पादित करने के लिए केवल जब सभी उपयोगकर्ताओं डेटाबेस से दिलवाया दिया गया है।

+0

कि यह कैसे में उपयोग करने के लिए कर सकते हैं राय? – Saani

उत्तर

86

ठीक है, यदि आप वास्तव में _id से user करने के लिए एक मानचित्रण वापस करना चाहते, तो आप हमेशा कर सकता है:

server.get('/usersList', function(req, res) { 
    User.find({}, function(err, users) { 
    var userMap = {}; 

    users.forEach(function(user) { 
     userMap[user._id] = user; 
    }); 

    res.send(userMap); 
    }); 
}); 

find() रिटर्न मिलान करने वाले सभी दस्तावेजों एक सरणी में है, इसलिए अपने पिछले कोड कतरना है कि सरणी भेजता है ग्राहक।

+0

ठीक है, इसलिए मैं 'ढूंढ' के अर्थशास्त्र के बारे में उलझन में था। धन्यवाद। – Randomblue

+0

इसे देखने में कैसे पहुंचे? – Saani

+0

यह बहुत अच्छा काम करता है, मैं इसकी सराहना करता हूं। –

7

यह सिर्फ @ सोल्चेक के उत्तर में सुधार है, और प्रत्येक के लिए टाइपो का निर्धारण (लापता समापन ब्रैकेट);

server.get('/usersList', function(req, res) { 
    User.find({}, function(err, users) { 
     res.send(users.reduce(function(userMap, item) { 
      userMap[item.id] = item; 
      return userMap; 
     }, {})); 
    }); 
}); 

चीयर्स!

+0

इसे देखने में कैसे पहुंचे? – Saani

+1

समझाओ? आप क्या करना चाहते हैं? –

9

दृश्य में डेटा भेजने के लिए चाहते हैं, तो निम्न गुजरती हैं।

server.get('/usersList', function(req, res) { 
     User.find({}, function(err, users) { 
      res.render('/usersList', {users: users}); 
     }); 
    }); 

आपके विचार के अंदर आप चर उपयोगकर्ताओं का उपयोग कर डेटा के माध्यम से लूप

संबंधित मुद्दे