У нас есть сложная структура, которую мы храним в Монго, и на ней выполняется много обработки, и она часто обновляется.
Как часть структуры, карта имеет что-то вроде
Map<Enum, Map<String, Object> data
Это то, что сохраняется в монго и обновляется.
Таким образом, структура в монго становится чем-то вроде
"data" : {
"Category" : { // Value of the enum
"Test" : { // Name of the value to categorize data with
"count" : 2,
"values" : [
"value-1",
"value-2",
]
}
}
}
Мотивация сохранения такой структуры состоит в том, чтобы ускорить обработку, так как нам нужно много поисков для добавления новых данных к тем же Category
и Name
, и они обновляются в монго
Очевидно, что сейчас, когда нам нужно будет добавить индексы и выполнить сложный запрос в будущем, это будет непросто.
Так ищите предложение изменить это на что-то более расширяемое?
Чтение об этом похоже на структуру, что-то такого типа будет гораздо лучше
List<MyObject> data;
Где MyObject
Enum Category;
String Name;
int count;
List<String> values;
Но поскольку мы будем обрабатывать эти данные, поиск каждого в списке будет намного медленнее, чем поиск по карте.
Есть ли способ, где у нас может быть схема типа Array в монго, но я могу сохранить Map в своем коде Java для более быстрого поиска?