2012-04-30 10 views
6

मुझे पता है कि मोंगोडीबी में ऑब्जेक्ट्स में डेटा के कई स्तर हो सकते हैं (जिस तरह से JSON ऑब्जेक्ट्स कर सकते हैं)। हालांकि, Casbah ड्राइवर ट्यूटोरियल केवल "फ्लैट" वस्तुओं के निर्माण को शामिल करता है, जहां केवल एक स्तर का डेटा है। मैं Casbah के साथ बहुस्तरीय वस्तुओं के साथ कैसे बना और काम कर सकते हैं?कैस्बा स्कैला मोंगोडीबी चालक - एम्बेडेड ऑब्जेक्ट्स

उत्तर

9

इसकी सुंदर सहज है।

निर्माण:

val a: MongoDBOBject = DBObject("a" -> DBObject("b" -> "c")) 
// results in { "a" : { "b" : "c"}} 

भीतरी क्षेत्रों with dot notation के लिए उपयोग:

:

val c = a.expand[String]("a.b") 

DBObject के रूप में आंतरिक वस्तु की बहाली, तो आप पैरेंट ऑब्जेक्ट के साथ के रूप में यह के साथ एक ही आपरेशन कर सकते हैं

val b = a.as[DBObject]("a") 
+3

नोट: इसके लिए काम करने के लिए, com.mongodb.casbah.commons.MongoDBObject, com.mo आयात करना याद रखें ngodb.casbah.commons.BaseImports._, com.mongodb.casbah.Implicits._, और com.mongodb.DBObject। – Haakon

+1

मुझे लगता है कि आप com.mongodb.casbah.commons.Imports._' आयात कर सकते हैं। यह डीबीओब्जेक्ट, मोंगो डीबीजेक्ट और निहित रूपांतरण कार्यों को आयात करेगा। मैंने कहीं भी कैस्बा डॉक्स में पढ़ा। – user573215

+0

आप काम करने के लिए '.as []' कैसे प्राप्त करते हैं? मुझे '.asInstanceOf []' की आवश्यकता है। क्या यह वही बात है? – akauppi

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