Структура схемы Tag выглядит следующим образом:
_id: "abcsd12312",
nsp: "localhost.com",
tags: [
0: { tag: "#feedback",
agent_list: [
0: { email : "murtaza@local.com", count: 0},
1: { email: "abc@gmail.com", count: 0}
]
},
1: { tag: "#spam",
agent_list: [
0: { email: "abc@live.com", count: 0},
1: { email: "murtaza@local.com", count: 1}
]
}
]
У меня есть два параметра, которые исходят из источника и попадают в функцию, которую я сделал, параметры tag_name и agent_email, их значениями могут быть "#feedback" и "murtaza@local.com" в качестве примера.
Мне нужно перебрать коллекцию тегов на основе заданного имени тега, а затем, если запись найдена, перебрать свой список агента, равный значению параметра agent_email. Затем я должен увеличить его «количество» на 1.
У меня есть следующая функция:
public static async UpdateAgentTicketCount(agent_email: string, tag_name: string, nsp: string) {
try {
console.log(agent_email, tag_name, nsp);
return this.collection.findOneAndUpdate({nsp: nsp, tags: {$elemMatch: {tag: tag_name}}}, {});
} catch (error) {
console.log(error);
}
}
Мне нужен запрос mongodb, чтобы увеличить это число на 1, я использую mongodb в своем угловом коде и у меня есть функция, которая выполняет эту задачу, что бы ни получал запрос, я напишу этот запрос внутри своей функции.