私のmongoDBコレクションは次のようになります:
{
"_id" : ObjectId("5070310e0f3350482b00011d"),
"emails" : [
{
"_id" : ObjectId("5070310e0f3350482b000120"),
"_type" : "Email",
"name" : "work",
"email" : "peter.loescher@siemens.com",
"current" : true
}
]
}
そして、これは.js
私が内容を印刷するために使用するコードです:
c = db.contacts.findOne( { "emails.email" : { $ne : null } }, { "emails" : 1 } )
print(c._id.toString() + " " + c.emails[0]);
この JavaScript ファイルを実行しようとすると、ID が表示されるだけで、メール配列は表示されません。
output:
5070310e0f3350482b00011d [object bson_object]
しかし、私が試してみるc.emails[0].email
と、適切な結果が得られます。すなわちpeter.loescher@siemens.com
必要なのは、電子メールの埋め込みオブジェクト全体を表示することだけです。
i.e.
"emails" : [
{
"_id" : ObjectId("5070310e0f3350482b000120"),
"_type" : "Email",
"name" : "work",
"email" : "peter.loescher@siemens.com",
"current" : true
}
]
どこが間違っているのでしょうか。どんな助けでも大歓迎です。