के साथ शुरू इस पोस्ट MongoDB finding nested elements पर, लेखक का दावा है MongoDB दस्तावेज़ संरचना
car : { "$ref" : "cars" , "$id" : { "$oid" : "4e8478ace4b0dea06288ad63"}}
जब मैं समस्या पुन: पेश करने की कोशिश की, मैं MongoDB प्रविष्टि के साथ कुछ अजीब व्यवहार का सामना करना पड़ा है कि
जब ऊपर नमूना डेटा पर प्रविष्टि चलाने के लिए, मैं त्रुटि निम्न गया
> db.sample.insert({car:{ "$ref" : "cars" , "$id" : { "$oid" : "4e8478ace4b0dea06288ad63"}}})
Tue Jan 24 14:09:07 uncaught exception: field names cannot start with $ [$oid]
यह कहना है कि फ़ील्ड नामसाथ शुरू नहीं कर सकते।
thats मामले हैं, यह अगर मैं OID से $
को दूर काम करते हैं और छोड़ दिया शेष $ref
& $id
अछूता
> db.sample.insert({car:{ "$ref" : "cars" , "$id" : { "oid" : "4e8478ace4b0dea06288ad63"}}})
> db.sample.find()
{ "_id" : ObjectId("4f1e6fbc403aae757ec6dea5"), "car" : { "$ref" : "cars", "$id" : { "oid" : "4e8478ace4b0dea06288ad63" } } }
आश्चर्यजनक रूप से यह काम नहीं करना चाहिए। अब यह स्वीकार करता है क्षेत्रों $
के साथ शुरू भी जब मैं इस क्वेरी
> db.sample.insert({ "$ref" : "cars" })
document to insert can't have $ fields
मैं त्रुटि वापस मिल की कोशिश की।
मुझे समझ में नहीं आता कि इसका क्या कारण है? किसी के पास एक स्पष्ट विचार है? वे DBRef सम्मेलन से जुड़े हुए हैं -
हाँ, यही कारण है ..धन्यवाद – RameshVel
क्या डीबीआरएफएस का मौका देने का कोई तरीका है? – Backlit
@ बैकलिट: मुझे खेद है कि मैं सवाल समझ नहीं पा रहा हूं। आप dbrefs के वाक्यविन्यास को बदलना चाहते हैं? सुनिश्चित करें कि आप समझते हैं कि आपको dbrefs का उपयोग करने की आवश्यकता नहीं है - असल में, आमतौर पर इसकी आवश्यकता नहीं होती है और आधिकारिक दस्तावेज़ आपको एक साधारण सीधा लिंक का उपयोग करने की सलाह देते हैं, जैसे 'UserId: 423434'। – mnemosyn