MongoDB“糟糕的索引键模式”

时间:2015-11-02 02:56:44

标签: mongodb nosql

我有一个名为“Users”的集合,其中包含代表各个用户的多个文档。每个用户都有一个“电子邮件”字段和一个“密码”字段。我试图在“电子邮件”字段中指定唯一索引,但是从数据库中收到某种错误。

我的创作如下:

db.users.createIndex( { "email": "hey@email.com" }, { unique: true } )

当我尝试创建此唯一索引时,我收到如下响应:

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"errmsg" : "exception: bad index key pattern { email: \"hey@email.com\" }: Unknown index plugin 'hey@email.com'",
"code" : 67,
"ok" : 0
}

知道我哪里错了吗?我希望我能够添加电子邮件/密码组合的用户,并且如果用户已经在数据库中使用此电子邮件,则会立即收到错误。

如果这是一个概念性问题,我们将非常感谢任何有用文章的建议或链接。

1 个答案:

答案 0 :(得分:2)

这当然是语法错误。 在电子邮件列上创建唯一索引的正确方法是:

db.users.createIndex( { "email": 1 }, { unique: true } );

希望有所帮助。