首页 > 解决方案 > 解析服务器升级到 v4.2:无法确保用户电子邮件地址的唯一性

问题描述

我最近将解析服务器升级到 v4.2。我还将 Mongo 更新到 v4.2(这是一个副本集配置)。现在,当 parse-server 引发时,出现以下错误“无法确保用户电子邮件地址的唯一性:试图确保已经有重复的类的字段唯一性。”

详细的错误是这样的:

{
"message": "Unable to ensure uniqueness for user email addresses: Tried to ensure field uniqueness for a class that already has duplicates.",
"code": 137,
"level": "warn",
"stack": "Error: Tried to ensure field uniqueness for a class that already has duplicates.\n    at _adaptiveCollection.then.catch.error (/parse/node_modules/parse-server/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js:569:15)\n    at <anonymous>\n    at process._tickDomainCallback (internal/process/next_tick.js:229:7)"

该错误是由_User具有相同数据的用户名和电子邮件字段的类引起的。关于如何解决问题或使解析服务器不进行此检查的任何想法。

标签: mongodbparse-platformparse-server

解决方案


该错误消息意味着无法在该email字段上创建唯一索引。

唯一索引确保email字段中的值只能出现一次,换句话说,它是唯一出现的。email如果字段中已经存在违反唯一性规则的重复值,即相同的电子邮件地址已在集合中多次出现,则 MongoDB 无法创建此类索引。

请记住,Parse Server 4.0字段emailusername. 如果您已经有一个用户使用 emailemail@example.com而另一个用户使用EMAIL@example.com,则索引创建也将失败。

解决方案是删除重复的电子邮件条目并重新启动 Parse Server,以便再次尝试创建索引。


推荐阅读