次のような構造のスキーマを持つドキュメントを含むmongoコレクションがあります。
{ _id : bla,
fname : foo,
lname : bar,
subdocs [ { subdocname : doc1
field1 : one
field2 : two
potentially_huge_array : [...]
}, ...
]
}
現在elemMatchをサポートしていないrubymongoドライバーを使用しています。プロジェクトを介してサブドキュメントから抽出するときに集計を使用し、パイプラインをほどいて一致させます。
私が今やりたいのは、サブドキュメントに含まれている潜在的に_huge_array配列からの結果をページングすることです。サブドキュメント全体、巨大な配列などすべてをデータベースからアプリにドラッグせずに、配列のサブセットだけを取得する方法を理解できませんでした。
これを行う方法はありますか?
別のスキーマがこれを処理するためのより良い方法でしょうか?