我正在使用Node、Express和MongoDB (与Mongoskin一起)作为一个webbapp。
新的客户帐户是通过web表单创建的,需要输入诸如“公司”、“联系人”、“电子邮件”等等。
在创建新客户端时,有些字段在保存到数据库时必须是唯一的。这些输入包括:'Company','Slug'和'Email'
公司必须是独一无二的。段塞是从公司名称生成的,也需要是唯一的。
例如。‘rosegarden咖啡馆’和'Cafe Rosegarden‘是两个不同的公司名称,但将产生相同的片段:’咖啡厅- Rosegarden‘。
电子邮件。我觉得这应该是独一无二的..。但实际上我不确定
现在,我对这些字段有三个唯一的索引。
问题1:是唯一的索引(最好?)在字段上断言唯一性的方法?
问题2: I'f im使用复合索引,它如何处理唯一性?例如,我是否可以说,电子邮件只需与一个特定的公司名称相结合,就可以是唯一的?
发布于 2013-10-17 13:32:23
是的,向字段添加唯一索引几乎总是确保其在集合中的唯一性的最佳方法。
当使用复合索引时,MongoDB确保集合中的每个文档都具有字段值的唯一组合。因此,如果在company和email上只有一个复合唯一索引,那么只要两者的组合是唯一的,就可以有多个具有相同company或email的文档。
https://stackoverflow.com/questions/19426872
复制相似问题