RethinkDB - 多个独特字段?

时间:2016-07-12 04:37:49

标签: rethinkdb nosql

我来自sql / django的ORM并喜欢rethinkdb,除了缺乏对我的实时应用程序绝对至关重要的“唯一性约束”。

如何确保两个相关字段“一致”?我能找到的唯一答案是3岁,并不是我问题的必要解决方案。

例如: 用户可以拥有许多“略微自定义”的小部件,但只是每种颜色中的一种。所以我需要确保 user / widget_color组合是唯一的。

用户1:

  • 蓝色小部件// {'蓝色小部件':{size:5,valuex:13}}
  • 红色小部件
  • 绿色 插件

  • - 此用户无法保存另一个“蓝色小部件” -

用户2:

  • 蓝色小部件// {'蓝色小部件':{size:1,valuex:20}}
  • 红色小部件
  • 紫色小部件

我可以选择使用RethinkDB吗?

1 个答案:

答案 0 :(得分:2)

您可以将主键设为[user, color]数组,并且只允许使用相同的用户/颜色对插入一个文档。与widgets.insert({id: ['mlucy', 'blue'], ...})一样。