この質問で答えられているように、コマンドラインから配列内のフィールドの名前を変更することはできないようです:
MongoDBはアレイ内のデータベースフィールドの名前を変更します
RockMongoを介してこれらの値を変更することは可能ですが、ユーザーLiadLivnatによって提案されています。
私の特定の例では、そこでアレイを削除し、構造を次のように変更しました。
{
"field1": "value 1",
"field2": {"subfield1": "value 2", "subfield2": "value 3"},
"field3": "value 4"
}
このオブジェクトのクエリは、次の方法で可能になりました:
db.myCollection.find( {"field2.subfield2":"value 3"} );