現在、私は多数のメンバーを含む一連のリストを管理しています。フィールドとこれらのフィールドの名前に関しては、すべてのリストが異なって見える場合があります。
通常、基本的なリスト メンバーは次のようになります (メンバー コレクションから)。
{
"_id" : ObjectId("52284ae408edcb146200009f"),
"list_id" : 1,
"status" : "active",
"imported" : 1,
"fields" : {
"firstname" : "John",
"lastname" : "Doe",
"email" : "john@example.com",
"birthdate" : ISODate("1977-09-03T23:08:20.000Z"),
"favorite_color" : "Green",
"interests" : [
{
"id" : 8,
"value" : "Books"
},
{
"id" : 10,
"value" : "Travel"
},
{
"id" : 12,
"value" : "Cooking"
},
{
"id" : 15,
"value" : "Wellnes"
}
]
},
"created_at" : ISODate("2012-05-06T15:12:26.000Z"),
"updated_at" : ISODate("2012-05-06T15:12:26.000Z")
}
「fields」インデックスの下にあるすべてのフィールドは、現在のリスト ID に固有のフィールドです。これらのフィールドは、リスト ID ごとに変更できます。つまり、新しいリストは次のようになります。
{
"_id" : ObjectId("52284ae408edcb146200009f"),
"list_id" : 2,
"status" : "active",
"imported" : 1,
"fields" : {
"fullname" : "John Doe",
"email" : "john@example.com",
"cell" : 123456787984
},
"created_at" : ISODate("2012-05-06T15:12:26.000Z"),
"updated_at" : ISODate("2012-05-06T15:12:26.000Z")
}
現在、私のアプリケーションでは、カスタム フィールドごとにユーザーが動的に検索できるようになっていますが、インデックスがないため、このプロセスは非常に遅くなる可能性があります。
リストの作成者がインデックスを作成するフィールドを選択できるようにするオプションだとは思いませんが、これをスピードアップする必要があります。
これに対する解決策はありますか?