Si te entiendo correctamente, puedes encontrar la respuesta a tu pregunta a continuación.
Digamos que tiene el siguiente documento anidado.
{ "key1" : "value1",
"key2" : {
"key21" : "value21",
"key22" : "value22"
}
}
Si desea realizar una consulta en los documentos anidados, puede acceder al objeto incrustado utilizando el siguiente código Java.
DBCollection coll = db.getCollection("collectionName");
BasicDBObject query = new BasicDBObject();
query.put("key2.key21", new BasicDBObject("$eq", "value21"));
DBCursor cur = coll.find(query);
Si desea extraer un documento incrustado del documento, puede usar Map/Reduce o Marco de agregación.
A Ian Daniel se le sigue agregando el código para insertar los documentos anidados que le pediste. También puede visitar esto página para ver algunos ejemplos detallados.