Gunakan notasi titik:
Saat bidang menyimpan dokumen yang disematkan, kueri dapat menentukan kecocokan persis pada dokumen yang disematkan atau menentukan kecocokan menurut masing-masing bidang dalam dokumen yang disematkan menggunakan notasi titik.
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
})
Jika Anda hanya perlu menampilkan bagian dari array di mana Anda memiliki _id Anda, Anda perlu menggunakan dolar dalam proyeksi
Operator $ posisional membatasi konten dari hasil kueri agar hanya berisi elemen pertama yang cocok dengan dokumen kueri.
dan kueri Anda akan terlihat seperti:
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
}, {
"accounts.$.": 1
})
P.S. jika Anda membutuhkan output seperti pada pertanyaan Anda yang dimodifikasi, gunakan ini:
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
}, {
accounts : 0
})