Как разрешить поиск указанного ниже документа в коллекции с идентичными документами следующими способами.Я хочу иметь возможность искать эти документы с помощью «точного» значения поиска, только если они предоставили все пары тег / значение и только эти пары тег / значение.Кроме того, я хочу получить «неточный» поиск, который возвращает любые документы, которые содержат все пары тег / значение, но могут включать и другие.Наконец, комбинация пар тегов / значений должна быть уникальной, то есть точный набор пар тегов / значений может принадлежать только одному документу (надеюсь, с использованием индекса).
Редактировать: также может быть только одинзначение для любого тега (IE tag1 может иметь только 1 значение), но значения могут использоваться несколько раз.
Я попытался реализовать этот дизайн и быстро столкнулся с проблемой.BSON не сохраняет порядок ключей, поэтому, если я не предоставлю их в том же порядке, он не найдет их.Оттуда я попытался создать массив объектов с тегом и значением в качестве пары ключ-значение.Однако я не мог понять, как применить правило индекса, которое сохранило их уникальность.
Документ:
{
_id: xyz,
tags: {
'tag1': 'value1',
'tag2': 'value2',
'tag3': 'value3',
'tag4': 'value4'
}
}