Итак, у меня есть ситуация, когда я помечаю документы с помощью массива, например:
tags: [
'Housing' : 10,
'Retail' : 1,
'Stocks' : 25,
]
Я просто сохранял сами теги, но недавно добавил цифры, потому что мне нужно знать ранг/позиция.Таким образом, число рядом с тегом обозначает ранг документа в наборе документов, помеченных этим тегом.
В некоторых местах становится сложно, но сейчас я просто пытаюсь понять, какЯ добавляю другой документ с одним или несколькими из этих тегов.Допустим, я создаю новый документ и отмечаю его как Housing.Его ранг должен быть установлен на 11, но откуда мне это знать?
Единственное решение, которое мне удалось найти до сих пор, - это составить карту / уменьшить, чтобы просмотреть записи и найти максимумзначение для этого тега, добавить один и сохранить.Теперь большинство записей, вероятно, будет иметь только 2-3 тега, но теоретически возможно иметь 10-15.В любом случае, похоже, что map / lower потребует огромных усилий, если будет много тегов и много записей ...
Есть ли более простой способ, или я должен просто начать искать другое решение этой проблемы?проблема?
Редактировать:
Позвольте мне рассказать вам немного подробнее о проблеме, которую я пытаюсь решить ... Я показываю изображения в слайд-шоу/ карусели.Слайд-шоу охватывает различные категории, поэтому, используя категорию / теги, приведенные выше, вы можете просматривать ВСЕ изображения или только изображения из раздела «Жилье», «Розничная торговля», «Акции» и т. Д. Сейчас у меня есть только несколько определенных категорий, но это довольноВозможно, что они будут расширяться с течением времени.Они должны быть отфильтрованы по тегу и отсортированы по дате (сначала самое новое).
Теперь, до этого момента я занимался именно этим.Проблема возникает, когда я хочу выбрать произвольное изображение в середине колоды.Скажем, вы хотите загрузить "housing_chart.gif", который был загружен 6 месяцев назад.Я не хочу загружать 6-месячные изображения для того, чтобы добраться до этого изображения (что я и делаю сейчас).Вместо этого я хочу загрузить это конкретное изображение, а затем иметь возможность разбивать его на страницы для следующих / предыдущих изображений.
Но для того, чтобы «разбить» страницы на карусели, я должен знать местоположение этого изображения врезультаты ... без фактического получения всех результатов и подсчета.Поэтому я подумал, что это будет лучшим решением, но это также вызывает и другие проблемы.Мне не очень нравится идея создания другой коллекции только для хранения рангов, но это может быть наиболее эффективным способом решения этой проблемы.