首页 > 解决方案 > 如何在 JavaScript 中使用 Mongoose 动态更新文档?

问题描述

我需要根据data-target来自 HTML 对象的值更新 MongoDB 文档中的属性。但是,我不知道如何将其data-target插入JSON.stringify

const save = (_id) =>{
    const token = localStorage.getItem('token')
    const saves= document.querySelectorAll(".flaticon-diskette")

    saves.forEach(function(save){

        console.log(`.input-${save.getAttribute("data-target")}`)
        const input = document.querySelector(`.input-${save.getAttribute("data-target")}`)
        var target = save.getAttribute("data-target")

        save.addEventListener('click', () =>{
            fetch(`https://janfa.gharsnull.now.sh/api/auth/edit/${_id}`,{
                method: 'PUT',
                headers: {
                    'Content-Type': 'application/json',
                    authorization : token,
                },
                body: JSON.stringify( { target : `${input.value}`} ), 
            }).then(console.log("done"))
        })
    })
}

target应该包含data-target每个的,save但它被读为“目标” JSON.stringify。我尝试使用模板字符串,但似乎JSON.stringify不允许我在第一个字段中使用它。我能做些什么?

标签: javascripthtmljsonmongoose

解决方案


只需更改 body: JSON.stringify( { target : '${input.value}'} )为 即可解决body: JSON.stringify( { [target] : '${input.value}'} )


推荐阅读