Я новичок в секвелировании и не очень много смотрел, но не нашел ничего конкретного. c
// API Method
function SeederApi(req: Request, res: Response) {
let request = req.body;
let _model_methods = new ModelMethod();
request.forEach((obj: any) => {
const condition = { name: obj.username };
const value = {
name: obj.username ,
short_text: obj.short_txt
};
_model_methods.findorCreate(condition, value)
.then((resp: any) => {
const _response = resp.get({ plain: true });
console.log(_response);
});
});
return res.status(200).send("Created");
}
export class ModelMethod{
init(){}
findorCreate = (condition: any, value: any) => {
return Model
.findOne({ where: condition })
.then((obj : any) => {
if(obj){ return obj }
return RiskFactors.create(value);
})
}
}
Проблема здесь в том, что 2 или более записей с одинаковым именем пользователя находятся в список, он должен возвращать объект, а не создавать его. Это прекрасно работает, если в запросе только один элемент. Но когда у меня есть несколько предметов с возможно одним и тем же именем пользователя. В итоге создаются повторяющиеся записи, поскольку запрос sequelize асин c, а мой l oop - нет.
Я понимаю проблему здесь, я не знаю, чтобы справиться с этим.
Спасибо за помощь заранее.