Делаю интеграцию с 1-С.
И проблема в том, что со стороны 1-С, идет много повторов по UUID. А мне нужно как то это отфильтровать. Через ContrAgent.findOne({UUID: agent.UUID }) подумал я. Но поиск и запись происходят ассинхронно.Есть какие то способы исправить это?
rp(`${process.env.SERVER_1C}`)
.then(function (xmlData) {
var tObj = parser.getTraversalObj(xmlData, options);
var jsonObj = parser.convertToJson(tObj, options);
let atr = jsonObj.UIDs[0].Элемент
let agent = {}
for (let i in atr) {
// console.log(atr[i])
agent.UUID = atr[i].uid
agent.full_name = atr[i].naimf
agent.name = atr[i].naim
agent.INN = atr[i].inn
agent.email = atr[i].Email
agent.payment_account = atr[i].rs
ContrAgent.findOne({UUID: agent.UUID }).then( data =>{
console.log(data)
if(data === null){
let save_contr_agent = new ContrAgent(agent)
save_contr_agent.save().then(result => {
console.log("ok")
})
}
})
console.log( agent.INN, " INN ",agent.name," NAME ", agent.UUID," UUID")
}
return res.status(200).json({ "OK": "OK" })
})
UPD: не сработало
symbol.iterator
for await()
делать кустомные _id у документов.