2012-11-29 17 views
8

मेरे MongoDB संग्रह में असमर्थ इस तरह दिखता है:जावा स्क्रिप्ट से BSON वस्तु मुद्रित करने के लिए

{ 
    "_id" : ObjectId("5070310e0f3350482b00011d"), 
    "emails" : [ 
      { 
        "_id" : ObjectId("5070310e0f3350482b000120"), 
        "_type" : "Email", 
        "name" : "work", 
        "email" : "[email protected]", 
        "current" : true 
      } 
    ] 
} 

और इस .js कोड मैं सामग्री मुद्रित करने के लिए उपयोग करते हैं:

c = db.contacts.findOne({ "emails.email" : { $ne : null } }, { "emails" : 1 }) 

print(c._id.toString() + " " + c.emails[0]); 

जब मैं चलाने का प्रयास यह जावास्क्रिप्ट फ़ाइल, यह सिर्फ आईडी प्रदर्शित कर रहा है लेकिन ईमेल सरणी नहीं है।

output: 
5070310e0f3350482b00011d [object bson_object] 

लेकिन जब मैं c.emails[0].email का प्रयास करता हूं तो उचित परिणाम दे रहा है। यानी [email protected]

मुझे बस इतना करना है कि मैं पूरे ईमेल एम्बेडेड ऑब्जेक्ट को प्रदर्शित करना चाहता हूं।

i.e. 
"emails" : [ 
     { 
       "_id" : ObjectId("5070310e0f3350482b000120"), 
       "_type" : "Email", 
       "name" : "work", 
       "email" : "[email protected]", 
       "current" : true 
     } 
] 

जहां मैं गलत हो रहा हूं? किसी भी सहायता की सराहना की जाएगी।

printjson(c.emails[0]); 

यहाँ यह the documentation है:

उत्तर

22

आप एक ठीक से स्वरूपित JSON उत्पादन के लिए printjson की जरूरत है।

+0

वह एक आकर्षण की तरह काम करता था। कुडोस (वाई) – user1518659