ユーザーがメンバーになっているリストを表す配列フィールドを持つmongoDBコレクションがあります。
user {
screen_name: string
listed_in: ['list1', 'list2', 'list3', ...] //Could be more than 10000 elements (I'm aware of the BSON 16MB limits)
}
*listed_in*フィールドを使用してメンバーリストを取得しています
db.user.find({'listed_in': 'list2'});
また、特定のユーザーを照会して、そのユーザーが特定のリストのメンバーであるかどうかを知る必要があります
var user1 = db.findOne({'screen_name': 'user1'});
この場合、すべてのメンバーを含む*listed_in*フィールドを取得します。
私の質問は:mongoDBのカスタムフィールドを事前に計算する方法はありますか?user1.isInList1、user1.isInList2のようなフィールドを取得できる必要があります
今のところ、ユーザーが「list1」のメンバーであるかどうかを知るために* listed_in *配列を反復処理することにより、クライアント側でそれを行う必要がありますが、*listed_in*には1000個の要素が含まれる可能性があります。