2011-09-03 14 views
12

मैं अपने मॉडलों के अंदर जावास्क्रिप्ट का उपयोग करके सीधे क्लाइंट-साइड से मोंगोडब का उपयोग करना चाहता हूं। मुझे लगता है कि यह संभव है क्योंकि मोंगो वेबसाइट पर डेमो के लिए जावास्क्रिप्ट रीयलटाइम कंसोल है।मोंगोब क्लाइंट साइड जावास्क्रिप्ट एपीआई

क्लाइंट-सर्वर गोंद कोड लिखने के बिना सामान्य जावास्क्रिप्ट एप्लिकेशन में एक ही एपीआई का उपयोग करने का एक तरीका मौजूद है?

धन्यवाद

उत्तर

7

साइट की तरह लग रहा बाकी की तरह AJAX इंटरफ़ेस का उपयोग करता है, लेकिन मुझे विश्वास है कि यह कुछ पुल के माध्यम से प्रत्यक्ष या परोक्ष रूप से भी किसी भी MongoDB उदाहरण तक नहीं जाते हूँ।

इस पैटर्न को लागू करने से पहले दो बार सोचता है: आप सुरक्षा को कैसे लागू करेंगे? क्या आप AJAX सीमाओं के बारे में जानते हैं? क्या तुम सच में पता है कि तुम क्या कर रहे हैं, कुछ उपयोगी संसाधनों तक आधिकारिक documentation अंक हैं:

  • Sleepy Mongoose (अजगर) MongoDB के लिए एक पूर्ण विशेषताओं REST इंटरफ़ेस जो एक अलग परियोजना के रूप में उपलब्ध है।

  • MongoDB Rest (Node.js) एक अल्फा MongoDB को बाकी इंटरफ़ेस है, जो MongoDB नोड मूल निवासी ड्राइवर का उपयोग करता है।

  • Simple REST Interface मोंगोड प्रक्रिया में सुविधा के लिए एक साधारण पढ़ने-योग्य आरईएसटी इंटरफ़ेस शामिल है। पूर्ण आरईएसटी क्षमताओं के लिए हम एक बाहरी उपकरण जैसे Sleepy.Mongoose का उपयोग करने की सलाह देते हैं।

एक बाकी पुल होने और प्रबंध same origin policy आप आसानी से सीधे AJAX कॉल करता है और जावास्क्रिप्ट का उपयोग MongoDB पहुँच सकते हैं।

+1

सुरक्षा के बारे में कोई सुझाव? – Bakaburg

+1

मुझे लगता है कि मैं प्रमाण पत्र की जांच करने और ग्राहक को अधिकृत करने के लिए सर्वर पक्ष पर क्लाइंट और मोंगोडीबी रीस्ट ब्रिज के बीच कुछ मध्यवर्ती जगह रखूंगा। इस प्रकार क्लाइंट कोड (ब्राउज़र) को मोंगोडीबी क्रेडेंशियल्स के बारे में कुछ भी पता नहीं है, लेकिन क्योंकि यह सत्र कुकी भेजता है (मान लीजिए कि उपयोगकर्ता लॉग इन है), आप क्लाइंट की पहचान कर सकते हैं और उसे एक्सेस दे सकते हैं या नहीं। –

+0

उत्तर के लिए धन्यवाद! मैं आपसे सहमत हुँ। लेकिन फिर आपको लगता है कि प्रत्येक डेटाबेस अनुरोध को सर्वर सर्वर मध्यम परत को पार करने के बोझ के बिना ऐप बनाना असंभव है? लेकिन couchdb और couchapp आरईएसटी कम्यूनिकेशन का उपयोग कर सकते हैं (वास्तव में एक साफ jquery इंटरफेस trough)। वे सुरक्षा से कैसे सामना करते हैं?मैं couchdb सीखना नहीं चाहता, क्योंकि मुझे इसकी आवश्यकता के लिए अत्यधिक जटिल लगता है (और मेरे पास समय के लिए) – Bakaburg

1

मुझे अपने आप को ऐसा कुछ करने की ज़रूरत है, एक व्यवस्थापक इंटरफ़ेस के अंदर एक कंसोल, और जब से मैं बैक एंड में PHP का उपयोग करता हूं, मैंने जेएस कमांड प्राप्त करने के लिए स्क्रिप्ट बनाई और मोंगोडीबी :: निष्पादन विधि का उपयोग किया, कनेक्शन में php पहले से ही खुला है इसलिए मुझे किसी भी प्रमाणीकरण डेटा को पास करने की आवश्यकता नहीं थी, केवल आदेश।
आपको इस तरह के कुछ के साथ बेहद सावधान रहना होगा, हालांकि, सुनिश्चित करें कि केवल विश्वसनीय उपयोगकर्ता पृष्ठ (और स्क्रिप्ट) तक पहुंच सकते हैं, इसे सार्वजनिक रूप से उपलब्ध न करें क्योंकि कोई भी ग्राहक को आपकी पहुंच प्राप्त करने के लिए क्लाइंट पर जेएस निष्पादित कर सकता है db।

संपादित करें: यहाँ डॉक्स http://ar2.php.net/manual/en/mongodb.execute.php

1

के लिए लिंक meteorjs, या इसी तरह पर एक नजर डालें है। एक बार लिखे गए मॉडल, एसीएल पूरा करें।

जब आप Redis में जोड़ते हैं तो भी बेहतर हो जाता है :)

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