如何使用mongoose,向mongodb数据库中添加不重复的元素
else if (pathname === '/_login') {
let _login = parseObj.query;
console.log(_login.id, _login.password);
if (LgModel.findOne({ id: _login.id }, function () {
console.log(LgModel.findOne({ id: _login.id }, function () { })._conditions.id);
})._conditions.id === _login.id) {
console.log('已存在该用户和密码');
} else {
console.log('新用户');
LgModel.create({
id: _login.id,
password: _login.password
}, function (err) {
if (!err) {
console.log(`插入成功,id是"${_login.id}",password是"${_login.password}"`);
}
})
}
res.statusCode = 302;
res.setHeader('Location', '/');
res.end();
}
如果该元素没有,就添加到数据库中的集合里,如果有就不添加。我不知道有什么API,所以打算先用findOne查一查,如果能查到就不添加,如果查不到就添加。结果不管数据库的集合里有没有该元素,总是符合if的判断,然后就不能添加元素
请问该怎么做呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可通过 对集合 设置相应的 field "唯一索引"
具体操作可以参考
https://docs.mongodb.com/manual/indexes/
可以调用
findOneAndUpdate
,id
没有唯一索引亦可。不用回答了,已解决。。。