Метки документа MongoDB / Значения и поиск - PullRequest
0 голосов
/ 12 июля 2019

Как разрешить поиск указанного ниже документа в коллекции с идентичными документами следующими способами.Я хочу иметь возможность искать эти документы с помощью «точного» значения поиска, только если они предоставили все пары тег / значение и только эти пары тег / значение.Кроме того, я хочу получить «неточный» поиск, который возвращает любые документы, которые содержат все пары тег / значение, но могут включать и другие.Наконец, комбинация пар тегов / значений должна быть уникальной, то есть точный набор пар тегов / значений может принадлежать только одному документу (надеюсь, с использованием индекса).

Редактировать: также может быть только одинзначение для любого тега (IE tag1 может иметь только 1 значение), но значения могут использоваться несколько раз.

Я попытался реализовать этот дизайн и быстро столкнулся с проблемой.BSON не сохраняет порядок ключей, поэтому, если я не предоставлю их в том же порядке, он не найдет их.Оттуда я попытался создать массив объектов с тегом и значением в качестве пары ключ-значение.Однако я не мог понять, как применить правило индекса, которое сохранило их уникальность.

Документ:

{
    _id: xyz,
    tags: {
        'tag1': 'value1',
        'tag2': 'value2',
        'tag3': 'value3',
        'tag4': 'value4'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...