首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meteor js simpleschema with pattern已经存在,具有不同的选项

meteor js simpleschema with pattern已经存在,具有不同的选项
EN

Stack Overflow用户
提问于 2015-07-05 06:45:51
回答 2查看 402关注 0票数 0

我使用的是meteor js w/ simple-schema和

MongoError: Index with pattern: { username: 1 } already exists with different options

我围绕db.users集合的模式是

代码语言:javascript
复制
Schema = {};

Schema.User = new SimpleSchema({
...
 username: { 
     type: String, 
     unique: true, 
     regEx: /^[a-z0-9]{3,32}$/ , 
     max: 32,
     min: 3 },
...
});

我已经在mongodb中删除了索引,但当我重新启动我的应用程序时,仍然收到错误。有没有人见过这个?

EN

回答 2

Stack Overflow用户

发布于 2015-07-05 07:19:02

Meteor在users集合上附带了一些默认索引。来自accounts-base

代码语言:javascript
复制
/// DEFAULT INDEXES ON USERS
Meteor.users._ensureIndex('username', {unique: 1, sparse: 1});
Meteor.users._ensureIndex('emails.address', {unique: 1, sparse: 1});
Meteor.users._ensureIndex('services.resume.loginTokens.hashedToken',
                          {unique: 1, sparse: 1});
Meteor.users._ensureIndex('services.resume.loginTokens.token',
                          {unique: 1, sparse: 1});
// For taking care of logoutOtherClients calls that crashed before the tokens
// were deleted.
Meteor.users._ensureIndex('services.resume.haveLoginTokensToDelete',
                          { sparse: 1 });
// For expiring login tokens
Meteor.users._ensureIndex("services.resume.loginTokens.when", { sparse: 1 });

我还没有检查过,但我猜unique: true可能是您的模式中与上述内容冲突的部分。

票数 0
EN

Stack Overflow用户

发布于 2016-03-12 07:54:04

您可以将您的模式与已为用户名和电子邮件设置了索引和唯一的现有模式完美地合并。因为您只能通过将它们显式设置为false来删除它们,所以它们将保持不变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31225689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档