基本上我想在插入数据之前检查数据库中是否存在特定数据(我使用本机 mongodb 驱动程序),所以我尝试使用collection.findOne()
检查数据是否存在,如果属性的属性为 null 则collection.insert()
执行。
显然我的代码没有按照逻辑工作,请有人赐教!
我的一些代码:
exports.addUser = function(req, res) {
var twitterId = req.body.provider;
var userEmail = req.body.email;
db.collection('users', function(err, collection) {
collection.findOne({'email':userEmail }, function(err, item){
if(item.email === null){
collection.insert({
'email': userEmail,
'provider': {
'twitter': {
'id': twitterId
}
}
}, function(err, result) {
if (err) {
res.send({'error':'An error has occurred'});
} else {
console.log('Success: ' + JSON.stringify(result[0]));
res.send(result[0]);
}
});
}else{
console.log("Email exits ");
}
});
});
}