2012-10-25 8 views
7

में विशेष फ़ील्ड का चयन करना मेरे पास मोंगोस ओडीएम के साथ एक नोडजेएस एप्लीकेशन है। मैं संग्रह से तीन विशेष फ़ील्ड का चयन करना चाहता हूं। उदाहरण मेरा संग्रह "उपयोगकर्ता" फ़ील्ड '_id', 'username', 'ईमेल', 'usertype', 'password' है ... मैं केवल 'उपयोगकर्ता नाम', 'ईमेल' & 'usertype' चुनना चाहता हूं। यह था मेरी कोडMongooseJs

var query = models.User.find({}).select('UserName', 'Email', 'UserType'); 

यह नेवला 2 संस्करण के साथ ठीक काम कर रहा था, मैं MongoDB 2.2 और नेवला 3.3.1 के लिए अद्यतन। अब मैं त्रुटि हो रही है

500 TypeError: Invalid select() argument. Must be a string or object. 

किसी को भी एक समाधान का सुझाव सकते हैं?

उत्तर

13

के बाद से नेवला 3 select() पैरामीटर हो सकता है या तो:

  • एक वस्तु बाहर रखा गया/शामिल क्षेत्रों में से 0-1 नक्शा युक्त
  • fieldnames (- साथ के एक अंतरिक्ष सीमांकित स्ट्रिंग क्षेत्रों बाहर रखा जाना करने की जरूरत है कि इससे पहले कि

    var query = models.User.find({}).select('UserName Email UserType'); 
    
    :)

तो आप या तो उपयोग करना चाहिए

या

var query = models.User.find({}).select({UserName : 1, Email : 1, UserType: 1}); 
+0

धन्यवाद! दोनों कोड अच्छी तरह से काम करता है। – dany

10

नेवला संस्करण 4 के रूप में, आप का चयन की जरूरत नहीं है()।

var query = models.User.find({}, 'UserName Email UserType');