मेरे पास मोंगो में ऐसा पेड़ है:
& gt; Db.data.find () {"_id": "07c", "path": null} {"_id": "a", "path": "07c, a"} {"_id": "b", "डेटा": "{0},", "पथ": "07c, a, b"} {"_id": "{\" c \ ": \" olaC \ ", \" d \ ": \" ओलाड \ "}," पथ " C "," c ":" 07c, a, b, c "} {{" c: "\" olaC \ ", \" d \ ": \" ओलाड \ "}", "पथ" "डी", "डी": "{\" d \ ": \" ओलाड \ "}", "डेटा": "{\" c \ ": \" ओलासी \ ", \" d \ "": \ "ओलाड \"} "," पथ ":" 07c, a, b, c, d "} मैं सभी वंशों को पुनः प्राप्त करना चाहता हूं।
अगर मैं मोंगोडाबी कंसोल में ऐसा करता हूं, तो मैं इन संतानों को ठीक करता हूं:
& gt; Db.data.find ({पथ: /, बी, /}} {"_id": "c", "c": "{\" c \ ": \" ओलासी \ ", \" d \ ": \ "", "डी": "{\" d \ ": \" ओलाड \ "}" ओलाड \ "}," पथ ":" 07c, a, b, c "} {" _id ":" d "," d " "डेटा": "07c, a, b, c, d"} लेकिन अगर मैं जावा में ऐसा करता हूँ:
BasicDBObject क्वेरी = नया BasicDBObject (); Query.put ("पथ", "/," + सरणी [i] + ", /"); DBCursor कर्सर = coll.find (क्वेरी); जबकि (कर्सर.hasNext ()) {System.out.println (कर्सर.एक्स्ट ()। ToString ()); } डीबगर से क्वेरी में यह शामिल है: {"पथ": "/, b, /"}
मुझे कोई वंश नहीं मिल रहा है ... क्यों यह काम नहीं करता है?
/../ में विशेष है MongoDB खोल यह केवल एक स्ट्रिंग नहीं है जिसमें एक नियमित अभिव्यक्ति होती है, लेकिन कुछ ऐसा है जो शैल द्वारा पार्स किया जाता है और एक नियमित अभिव्यक्ति के रूप में उपयोग किया जाता है।
ऐसा करने के लिए जावा से, आप ऐसा कुछ करेंगे: < पूर्व> BasicDBObject क्वेरी = नया BasicDBObject (); Query.put ("name", Pattern.compile ("," + array [i] + ",")); DBCursor कर्सर = coll.find (क्वेरी); जबकि (कर्सर.hasNext ()) {System.out.println (कर्सर.एक्स्ट ()। ToString ()); } इन्हें भी देखें:
No comments:
Post a Comment