1

私のアプリケーションのクライアント側には、さまざまな場所のリストを含む 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"])

うまく機能していますが、もっと良い方法があるのではないかと心配しています。私の問題は、ユーザー入力に基づいてクライアントから配列が渡されていることです。非常に大きくなる可能性があります。クエリから返されるユーザーの量も非常に多い可能性があるため、ページネーションを使用して表示しています。したがって、新しいページに移動するたびに、クエリのために巨大な配列をサーバーに返します。それはひどく非効率的ですが、それを行うより良い方法があるかどうかはわかりません。

この種の問題を経験した人はいますか?

4

0 に答える 0