Мы создаем приложение, в котором понравившиеся пользователи попадают в профиль пользователя. Теперь мы хотим иметь возможность удалять пользователей из профиля. Мы предполагаем, что нам нужно использовать fetch и метод delete, но поскольку пользователи клонируются, мы не уверены, как удалить указанный клон c. У тебя есть идеи? Как удалить указанного пользователя c с app.delete в приложении. js?
Пример из базы данных (nedb), где понравившиеся пользователи находятся в объекте «match»:
{"username":"hawe","email":"hawe@gmail.com","password":"1234","gender":"Kvinna","age":"29","city":"Uppsala","games":"Team Fortress 2","usernameDiscord":"hawe30","usernameSteam":"hawe","usernameOrigin":"hawe","match":["nikeboy","carro","arooma","knest","arooma","gamer_girl","gamer_girl","carro","gamer_girl","arooma","arooma","arooma"],"_id":"JYXvYXEvgw8LNX4X"}
Это код в сценарии. js:
function writeProfileInfo(users) {
const id = localStorage.getItem("userId")
for (let i = 0; i < users.length; i++) {
if (id == users[i]._id) {
console.log(id)
console.log(users[i].match.length)
console.log(users[i]._id)
const profileUsername = document.querySelector(".Profile-Info__Username-Age").innerHTML = users[i].username + ", " + users[i].age
const city = document.querySelector(".Profile-Info__City").innerHTML = users[i].city
const discord = document.querySelector(".Profile-Info__Username-Discord").innerHTML = users[i].usernameDiscord
const steam = document.querySelector(".Profile-Info__Username-Steam").innerHTML = users[i].usernameSteam
const origin = document.querySelector(".Profile-Info__Username-Origin").innerHTML = users[i].usernameOrigin
// const gender = document.querySelector(".Gender__Input").value
for (let j = 0; j < users[i].match.length; j++) {
let div = document.querySelector(".Append")
let userMatch = document.querySelector(".User__match")
let newClone = userMatch.cloneNode(true)
newClone.querySelector(".c").innerHTML = users[i].match[j]
console.log(users[i].match[j])
newClone.classList.remove("Prototype")
div.append(newClone)
}
let deleteBtn = document.querySelector(".deleteBtn")
console.log(users)
deleteBtn.addEventListener("click", async(event) => {
console.log("hej")
event.preventDefault()
const response = await fetch('http://localhost:8080/delete/' + id, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
match: users[i].username.match
})
})
})
}
}
}
Это приложение. js:
app.delete('/delete/:id', async(req, res) => {
const result = await collectionsNEDB.users.remove({ _id: req.params.id }, {
{ "match": req.body.match }
})
console.log(req.params.id)
res.json(result)
})