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

MongoDB में सर्वर-साइड संग्रहीत फ़ंक्शंस का उपयोग करने की अनुशंसा क्यों नहीं की जाती है?

मुझे यकीन है कि मैंने सूची को दो बार बताया है, भले ही Google खोज परिणाम केवल उन लोगों से भरा हो जो आपको बता रहे हैं कि यह कैसे करना है:

  • यह eval है
  • eval प्राकृतिक क्षमताओं को आसानी से इंजेक्ट किया जा सकता है, यह एसक्यूएल के बराबर एक गैर-पीडीओ की तरह है, यदि आप इसके चारों ओर एक पूर्ण पैमाने से बचने वाली लाइब्रेरी नहीं बनाते हैं तो यह आपको गड़बड़ कर देगा। इन कार्यों का उपयोग करके आप प्रभावी रूप से MongoDB की सुरक्षित मूल भाषा को किसी ऐसी चीज़ से बदल रहे हैं जो किसी पुराने SQL की तरह ही असुरक्षित है।
  • यह एक वैश्विक लॉक लेता है और राइट लॉक ले सकता है और तब तक जारी नहीं होगा जब तक कि ऑपरेशन पूरी तरह से पूरा नहीं हो जाता, अन्य ऑपरेशनों के विपरीत जो कुछ मामलों में जारी होंगे।
  • eval केवल प्राइमरी पर काम करता है और प्रतिकृति सेट का कोई अन्य सदस्य कभी नहीं
  • यह मूल रूप से चल रहा है, अनियंत्रित है, एक बंडल V8/spidermonkey envo में JS का एक टन जो MongoDB के साथ आता है और आपके डेटाबेस और व्यवस्थापक कमांड के किसी भी हिस्से को छूने की पूरी क्षमता के साथ आता है, क्या यह सुरक्षित है?
  • यह MongoDB नहीं है और न ही यह "MongoDBs SQL" है, यह एक निर्मित JS वातावरण में चलता है, न कि MongoDBs C++ कोड स्वयं (एकत्रीकरण ढांचे के विपरीत)।
  • पिछले बिंदु के कारण यह कई अन्य विकल्पों की तुलना में बेहद धीमा है, यह $where के लिए जाता है उपयोग भी।

आपको इस मोर्चे पर आरंभ करने के लिए पर्याप्त होना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js + mongoose 100 से अधिक परिणाम मिलने पर फ़्रीज़ नोड ढूंढते हैं

  2. ClusterControl - 2017 से सभी फ़ीचर हाइलाइट्स और सुधार

  3. मोंगो:ऐसे आइटम ढूंढें जिनमें एक निश्चित फ़ील्ड नहीं है

  4. डायनेमोडीबी बनाम मोंगोडीबी नोएसक्यूएल

  5. मोंगोडब प्रकार सरणी में बदल जाता है