Utilice la notación de puntos:
Cuando el campo contiene un documento incrustado, una consulta puede especificar una coincidencia exacta en el documento incrustado o especificar una coincidencia por campos individuales en el documento incrustado utilizando la notación de puntos.
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
})
Si necesita generar solo la parte de una matriz donde tiene su _id, necesita usar dólar en la proyección
El operador posicional $ limita el contenido de un resultado de la consulta para que contenga solo el primer elemento que coincida con el documento de consulta.
y su consulta se vería así:
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
}, {
"accounts.$.": 1
})
PD si necesita el resultado como en sus preguntas modificadas, use esto:
db.coll.find({
"accounts._id" :ObjectId("5546329a470019850084a611")
}, {
accounts : 0
})