2014-07-17 5 views
14

क्या पिमोंगो का उपयोग कर संग्रह नाम के लिए वेरिएबल का उपयोग करना संभव है? उदाहरण के लिए :क्या पिमोंगो का उपयोग कर संग्रह नाम के लिए वेरिएबल का उपयोग करना संभव है?

col = 'my_collection' 
db.col.update() 

उत्तर

25

आप उपयोग कर सकते हैं:

col = 'my_collection' 
db[col].update() 

reference

5

आप एक स्ट्रिंग से एक विधि कॉल करने की कोशिश कर रहे हैं। यह pymongo के लिए विशिष्ट नहीं है।

आप यह देखने के लिए getattr का उपयोग कर सकते हैं कि स्ट्रिंग आपके db ऑब्जेक्ट पर एक विशेषता के रूप में मौजूद है या नहीं, फिर उसे कॉल करें।

उदा।

my_collection = getattr(col, 'my_collection') 
my_collection.update() 

संपादित करें: ध्यान दें कि getattr दृष्टिकोण का उपयोग कर मामले कि स्ट्रिंग एक विधि या col की विशेषता नहीं है में अपवाद हैंडलिंग के लिए अनुमति देता है।

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