
有这样一个需求:需要设置通过 3 个字段确定唯一。 比如:
adder:北京市海淀区 xx 小区 4 单元 #地址 tel:0103333333 #电话 t_id:1 # 标记数据的更新次数 这里除了 adder 不变,tel 和 t_id 都可能会变化。也就是说可能包含这样一些数据:
_id:213123123123 adder:北京市海淀区 xx 小区 4 单元 tel:0103333333 t_id:1 _id:324243242123 adder:北京市海淀区 xx 小区 4 单元 tel:010333435435 t_id:1 _id:909809880808 adder:北京市海淀区 xx 小区 4 单元 tel:010334536546 t_id:1 _id:576876894643 adder:北京市海淀区 xx 小区 4 单元 tel:010444444 t_id:1 _id:89879879879 adder:北京市海淀区 xx 小区 4 单元 #地址 tel:0103333333 #电话 t_id:2 在我的思想中,NoSQL 貌似没有这个选项想 mysql 那样创建约束条件。然后看到有创建唯一索引,但是为上面的那种可以创建吗? 谢谢
1 hareandlion 2017-05-27 09:51:50 +08:00 via iPhone 用三个字段合并 hash 化之后的结果做_id 怎么样 |
2 wwqgtxx 2017-05-27 09:59:22 +08:00 via iPhone 联合唯一索引 |
3 Light3 2017-05-27 10:06:46 +08:00 我怎么记得好像设置下哪个字段唯一 然后这个字段值是这样的 就不会再插入成功呢 |
4 xiongbiao 2017-05-27 12:59:45 +08:00 可以 |
6 fds 2017-05-27 15:08:30 +08:00 类似 db.collection("xxx").createIndexes([ { key: { adder: 1, tel: 1, t_id: 1 }, background: true, sparse: true, unique: true, }, ]) |
7 fds 2017-06-01 13:42:38 +08:00 啊 对了 address 缩写是 addr 不是 er |