我有一个名为“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
}
知道我哪里错了吗?我希望我能够添加电子邮件/密码组合的用户,并且如果用户已经在数据库中使用此电子邮件,则会立即收到错误。
如果这是一个概念性问题,我们将非常感谢任何有用文章的建议或链接。
答案 0 :(得分:2)
这当然是语法错误。 在电子邮件列上创建唯一索引的正确方法是:
db.users.createIndex( { "email": 1 }, { unique: true } );
希望有所帮助。