猫鼬唯一索引不起作用!

新手上路,请多包涵

我试图让 MongoDB 根据其索引检测重复值。我认为这在 MongoDB 中是可能的,但是通过 Mongoose 包装器,事情似乎被破坏了。所以对于这样的事情:

 User = new Schema ({
  email: {type: String, index: {unique: true, dropDups: true}}
})

我可以使用相同的电子邮件保存 2 个用户。该死。

此处表达了相同的问题: https ://github.com/LearnBoost/mongoose/issues/56,但该线程已过时且无处可去。

现在,我手动调用数据库来查找用户。该电话并不昂贵,因为“电子邮件”已编入索引。但是让它在本地处理仍然很好。

有人对此有解决方案吗?

原文由 foobar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 301
2 个回答

哎呀!你只需要重新启动 mongo。

原文由 foobar 发布,翻译遵循 CC BY-SA 2.5 许可协议

哎呀!你只需要重新启动mongo。

并重新编制索引,包括:

 mongo <db-name>
> db.<collection-name>.reIndex()

在测试中,由于我没有重要数据,你也可以这样做:

 mongo <db-name>
> db.dropDatabase()

原文由 jpillora 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题