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

NodeJS के साथ Eval MongoDB क्वेरी

आप जो स्ट्रिंग प्रस्तुत कर रहे हैं वह एक मोंगोडब शेल क्वेरी है। इस स्ट्रिंग में मोंगोडब शेल विशिष्ट डेटाटाइप हैं, और जैसे कि केवल मोंगोडब शेल के अंदर प्रयोग करने योग्य है। आप इन प्रश्नों को एक अलग (जावास्क्रिप्ट) वातावरण में पार्स या मूल्यांकन नहीं कर सकते हैं, क्योंकि वे नहीं हैं वैध JSON. इसलिए, eval , या JSON.parse विशिष्ट डेटाटाइप के कारण भी काम नहीं करेगा।

यदि आप विभिन्न वातावरणों में उपयोग के लिए मोंगोडब प्रश्नों को क्रमबद्ध करना चाहते हैं, तो आप मोंगोडीबी विस्तारित JSON का उपयोग कर सकते हैं।

https://docs.mongodb.org/v3.0/ संदर्भ/मोंगोडब-विस्तारित-जेसन/

यह मानक JSON है जिसमें mongodb डेटाटाइप हो सकते हैं। आपकी क्वेरी इसे MongoDB विस्तारित JSON में पसंद करेगी।

{
    "_id": {
        "$oid": "536b07935c89be214c000009"
    },
    "date": {
        "$date": "2012-12-19T06:01:17.171Z"
    },
    "mail": {
        "$regex": "test",
        "$options": "i"
    }
}

यदि आप इस तरह की स्ट्रिंग को नोड.जेएस मोंगोडब ड्राइवर के साथ पास करने के लिए पार्स या मूल्यांकन करना चाहते हैं, तो आपको इसे उचित नोड.जेएस मोंगोडीबी ड्राइवर ऑब्जेक्ट में deserialize करने के लिए एक पुस्तकालय का उपयोग करने की आवश्यकता होगी।

ऐसा करने के लिए आप इस लाइब्रेरी का उपयोग कर सकते हैं:
https://www। npmjs.com/package/mongodb-extended-json

आप इस लाइब्रेरी का उपयोग अपने ब्राउज़र में क्वेरी बनाने के लिए भी कर सकते हैं। या आप हाथ से मोंगोडब प्रश्न बना सकते हैं।

मुझे प्लगइन/एनपीएम पैकेज के बारे में पता नहीं है जो आपको मोंगोडब शैल प्रश्नों को मोंगोडीबी विस्तारित जेएसओएन में स्वचालित रूप से परिवर्तित करने की अनुमति देगा। आप अपने स्वयं के कुछ प्रकारों (ISODate, ObjectId) को लागू करके उन्हें स्वचालित रूप से परिवर्तित करने का प्रयास कर सकते हैं। हालाँकि आपके पास कभी भी मोंगोडब शेल और मोंगोडब नोडज ड्राइवर के बीच पूर्ण संगतता नहीं होगी, कई विधियों में अलग-अलग हस्ताक्षर और रिटर्न प्रकार होते हैं, कर्सर अलग तरह से काम करते हैं, आदि...

यह प्रोजेक्ट भी है, आधिकारिक तौर पर समर्थित मोंगोडब नोडज ड्राइवर का एक विकल्प, जो शेल की नकल करने की कोशिश करता है यदि आप वास्तव में इसे महत्व देते हैं, लेकिन यह आपकी विशिष्ट क्वेरी के साथ आपकी मदद नहीं करेगा, आपको अभी भी कन्वर्ट करने की आवश्यकता होगी it.
https://docs.mongodb.org/ecosystem/ ड्राइवर/नोड-जेएस/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Mapreduce:कम करें-> कई अभी तक समर्थित नहीं हैं

  2. जांचें कि फ़ील्ड MongoDB के साथ मौजूद है

  3. किसी सरणी को n विशेषताओं वाले दस्तावेज़ों के मानचित्र में बदलने की क्वेरी

  4. नेवला ढूँढता हैवनऔर अद्यतन एकाधिक फ़ील्ड अपडेट कर रहा है

  5. बचाने से पहले नेवला _id प्रभावित