双场独特指数

时间:2012-03-15 12:03:50

标签: mongodb database

我目前正在使用mongodb,但我也习惯了MySQL。

我正在考虑我们是否有双字段索引?

例如想象一下这个表:

Firstname   | LastName
============+=================    
Bob         | Bob
Bob         | B
John        | Bob

一个索引,我们可以让数据库强制唯一性同时将First NameLast Name作为一个(不需要作为第三个字段的开销,因为它们组合在一起或者作为哈希或者某种东西< / p>

因此,如果我们输入{ 'firstname: 'bob', 'lastname': 'bob'},则不会插入。

mongodb可以这样做吗?

3 个答案:

答案 0 :(得分:2)

您可以通过复合索引在MongoDB中执行此操作,如下所示:

db.col.ensureIndex({Firstname:1, LastName:1}, {unique:true})

答案 1 :(得分:0)

MongoDB为您提供了同时拥有复合键和唯一索引的功能。您可以通过以下链接找到相关信息:

http://www.mongodb.org/display/DOCS/Indexes#Indexes-unique%3Atrue

在这里,您可以找到一个示例:

db.things.ensureIndex({firstname:1,lastname:1},{unique:true});

如果这有助于您,请告诉我。

答案 2 :(得分:-1)

您可以在mysql中添加多列索引。例如:

alter table users add unique index(firstname, lastname);

<强>更新

这称为复合唯一约束