null
(node:37532) UnhandledPromiseRejectionWarning: MongoError: E11000 duplicate key error collection: aio.users index: _id_ dup key: { _id: "751868484832460840" }
null
我在过滤掉重复的东西后还能得到这个?我正在尝试为我的不和机器人的每个公会中的每个用户创建一个用户对象。这是我的密码。
null
aio.users.cache.forEach(async (user) =>{
let userObject = await userList.find(uo => uo._id === user.id)
if(!(userObject)){
let newUser = await User.create({
'_id': user.id,
'username': user.tag,
'avatarURL': user.avatarURL(),
'description': `Hi! I'm ${user.username}!`,
'accountcreated': user.createdAt
})
userList.push(newUser)
globalGuild.markModified('users');
return globalGuild.save();
} return;
})
null
在db中,甚至在user下都没有任何对象,所以它甚至没有任何重复。
比较id
s时需要小心。在从mongoose返回的document-object中,_id
很可能是objectid的一个实例。用户上的id
很可能是一个字符串,因此用===
连接这些字符串将会失败。
您可以尝试执行以下操作:
let userObject = await userList.find(uo => uo._id.toString() === user.id)