MongoDB& NodeJS插入如果不存在则抛出错误

时间:2017-12-04 01:02:17

标签: node.js mongodb duplicates

首先,我想先说我知道其他几个帖子与插入/更新有关,如果不存在的话;但是,我的情况有点不同,不适合其他帖子。

如果用户的电子邮件不存在,我正在尝试插入新的用户注册记录。我现在正在做的就是插入记录。

一个问题是使用upsert:true进行重复检查并不真正起作用,因为在插入记录时生成的所有唯一值都会像JSON Web Token和{{1}一样插入这是我目前的代码:

Created Date

我没有收到任何错误。相反,这样可以正常工作并在每次调用时插入一条新记录,即使用户的电子邮件已经存在于表中。

我正在尝试添加功能以检查用户的电子邮件是否已存在于表中,如果是,则抛出错误,否则,创建新记录。

1 个答案:

答案 0 :(得分:1)

您需要在email字段上创建unique index。例如。在mongo shell中:

db.users.createIndex(
   { email: 1},
   { unique: true } 
);