得到结果后,我有一个findOne查询要保存一些数据。 我的findOne查询会搜索保存的相同数据。
我的问题是findOne在保存完成之前正确。
我要防止重复的dataRow。
return models.LogDashboard.findOne({'user.email': user.email, title: conditions[condition].title})
.then((oldLog) => {
if (oldLog) {
return Promise.resolve('log already was created');
} else {
let log = {
'user': {
'first' : user.name.first,
'last' : user.name.last,
'phone' : user.phone.country + user.phone.number,
'email' : user.email,
'type' : user.type,
'status': user.status
},
'done' : false,
'date' : new Date(),
'title': conditions[condition].title,
'todo' : conditions[condition].todo
};
newLog = new models.LogDashboard(log);
return newLog.save()
.then((log) => {
return Promise.resolve('Log was Created');
})
.catch((e) => {
return Promise.reject('Error' + e);
});
}
}).catch((e) => {
return Promise.reject('Error' + e);
});
答案 0 :(得分:-1)
简短的解决方案,可能不是最好的解决方案,但是您尝试使用超时功能吗?
setTimeout(function(){
return newLog.save()
.then((log) => {
return Promise.resolve('Log was Created');
})
.catch((e) => {
return Promise.reject('Error' + e);
});
}, 500);
不知道函数的作用是什么,但这应该可以解决问题。