基本的に、データを挿入する前に特定のデータがデータベースに存在するかどうかを確認したいので(ネイティブ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 ");
}
});
});
}