2016-07-12 3 views
0

Я исхожу из ORM sql/django и любящего rethinkdb, за исключением отсутствия «ограничений уникальности», которые абсолютно необходимы для моего приложения в реальном времени.RethinkDB - Несколько уникальных полей?

Как убедиться, что два связанных поля являются «уникальными вместе»? Единственный ответ, который я могу найти, - это 3 года и не обязательно подходящее решение моей проблемы.

Например: Пользователи могут иметь много «немного настроили» виджетов, но только один из каждого цвета. Поэтому мне нужно убедиться, что комбинация user/widget_color уникальна.

Пользователь 1:

  • Синий виджет // { 'Синий виджет': {размер: 5, valuex: 13}}
  • Красный виджет
  • Green виджет

  • - Не должно быть НИКАКИХ способов этот пользователь может сохранить другой «синий виджет» -

Пользователь 2:

  • Синий виджет // { 'Синий виджет': {размер: 1, valuex: 20}}
  • Красный виджет
  • Фиолетовый виджет

Есть ли у меня возможность выполнить эту работу с RethinkDB?

ответ

2

Вы можете сделать первичный ключ массивом [user, color], и это позволит только один документ вставляться с той же парой пользователей/цветов. Мне нравится widgets.insert({id: ['mlucy', 'blue'], ...}).

Смежные вопросы