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



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

详细错误如下:

{
"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类引起的。关于如何解决问题或使解析服务器不进行此检查的任何想法。

错误消息表示无法在email字段上创建唯一索引。

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

请记住,ParseServer4.0为字段emailusername引入了不区分大小写的索引。如果您已经有一个用户的电子邮件为email@example.com,另一个用户为EMAIL@example.com,则索引创建也将失败。

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

最新更新