私のmongodbコレクションには、2つのレベルの埋め込みドキュメントを含むコレクションがあります。
Collection
- field1
- field2
- EmbeddedDocuments1
- field_a
- field_b
- EmbeddedDocument_a
- field_A
- field_B
- field_C
- EmbeddedDocuments2
- field_c
- field_d
- EmbeddedDocument_a
- field_D
- field_E
- field_F
- EmbeddedDocuments3
- field_e
- field_f
- EmbeddedDocument_a
- field_G
- field_H
- field_I
特定の第2レベルのドキュメントを見つけるためにクエリを実行すると、長い時間がかかります。〜= 500ms
私が試したクエリは、次の行に似ています。これは、第2レベルのドキュメントからのみデータを取得したいものです。
db.collections.find({ "embedded_documents_1.embedded_documents_2._id":ObjectId("502e8f5565ce10780f00000c") })
ただし、これにより、field1、field2、すべてのEmbeddedDocumentsを含む1つのコレクション全体が返されます。
私はここで何か間違ったことをしていますか?