Es scheint nicht möglich zu sein, ein Feld innerhalb eines Arrays von der Befehlszeile aus umzubenennen, wie in dieser Frage beantwortet:
MongoDB-Umbenennungsdatenbankfeld innerhalb des Arrays
Es ist jedoch möglich, diese Werte über RockMongo zu ändern, wie von Benutzer Liad Livnat vorgeschlagen.
Für mein spezielles Beispiel habe ich dort auch das Array entfernt und die Struktur geändert in:
{
"field1": "value 1",
"field2": {"subfield1": "value 2", "subfield2": "value 3"},
"field3": "value 4"
}
Die Abfrage dieses Objekts war dann möglich mit:
db.myCollection.find( {"field2.subfield2":"value 3"} );