2012-11-29 25 views
8
bộ sưu tập

My MongoDB trông như thế này:Không thể in đối tượng BSON từ kịch bản java

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

và đây là mã .js tôi sử dụng để in các nội dung:

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

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

khi tôi cố gắng chạy tệp javascript này, nó chỉ hiển thị id nhưng không phải là mảng email.

output: 
5070310e0f3350482b00011d [object bson_object] 

nhưng khi tôi thử c.emails[0].email sẽ cho kết quả phù hợp. tức là [email protected]

Tất cả những gì tôi cần là tôi muốn hiển thị toàn bộ đối tượng được nhúng email.

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

Tôi gặp vấn đề gì ?. Bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

22

Bạn cần printjson để ra một JSON định dạng đẹp:

printjson(c.emails[0]); 

Dưới đây là the documentation.

+0

Điều đó hoạt động như một sự quyến rũ. kudo (y) – user1518659

Các vấn đề liên quan