私のアプリケーションのクライアント側には、さまざまな場所のリストを含む JSON 配列があります。
Example : ["India" , "Spain" , "Chile"]
この配列はかなり大きくなる可能性があります。簡単に10kを超えるエントリ。
この配列を使用して mongodb にクエリを実行し、配列内で場所フィールドが一致するコレクション内のすべてのレコードを検索する必要があります。
文書例:
{
name : "Jim",
location : "India"
}
{
name : "Jane",
location : "Spain"
}
Jim と Janes の両方の場所が配列内にあるため、それらをクライアントに戻す必要があります。
私は $in 演算子を次のように使用しています:
document.find(location : [$in : ["India", "Spain" , "Chile"])
うまく機能していますが、もっと良い方法があるのではないかと心配しています。私の問題は、ユーザー入力に基づいてクライアントから配列が渡されていることです。非常に大きくなる可能性があります。クエリから返されるユーザーの量も非常に多い可能性があるため、ページネーションを使用して表示しています。したがって、新しいページに移動するたびに、クエリのために巨大な配列をサーバーに返します。それはひどく非効率的ですが、それを行うより良い方法があるかどうかはわかりません。
この種の問題を経験した人はいますか?