アクセスキーを介してアイテムを他のユーザーと共有できるシステムを開発しています。以下に示すように、アクセスキーをオブジェクト内のフィールドとして保存していshareinfo
ます (アイテムのドキュメント内に埋め込まれています)。
shareinfo:{
........
<nth key>: <permissions object - may be complex and large>
........
}
アイテムがアクセスされると、shareinfo.key をチェックして、有効かどうかを調べます。
現在、キーを一覧表示するには、(Java で) shareinfo オブジェクト全体をメモリにロードし、その上でkeySet()を実行してキーを取得して返しますが、残りのデータは無駄になります。
ここに問題があります: キーのリスト (つまり、オブジェクト フィールド名) を付随するデータなしで取得したいのです (パーミッション オブジェクトが著しく大きい場合があるため)。
そのようなクエリのmongodbドキュメントにはクエリが見つかりませんでした。可能かどうか知りたいのですが?または、フィールド値を伴わずにフィールド名のリストをアプリケーションにロードする最適化された方法はありますか?