如何在 JavaScript 中使用 Mongoose 动态更新文档?
Posted
技术标签:
【中文标题】如何在 JavaScript 中使用 Mongoose 动态更新文档?【英文标题】:How to dynamically update documents with Mongoose in JavaScript? 【发布时间】:2020-09-08 17:47:44 【问题描述】:我需要根据来自 html 对象的 data-target
的值更新 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
应该包含每个save
的data-target
,但它被JSON.stringify
读取为“目标”。我尝试使用模板字符串,但似乎JSON.stringify
不允许我在第一个字段中使用它。我能做什么?
【问题讨论】:
【参考方案1】:只需将body: JSON.stringify( target : '$input.value' )
更改为body: JSON.stringify( [target] : '$input.value' )
即可解决此问题
【讨论】:
【参考方案2】:要使用 Mongoose 更新文档,您需要使用 yourDocumentModel.findByIdAndUpdate()(如果一次是一个文档)函数。
如果你已经安装了所有的包,你需要调用异步函数来更新数据库中的文档
【讨论】:
是的,我已经解决了。如果我不清楚这个问题,我的意思是我需要在 JSON.stringify 中插入一个变量,但不知道如何 好吧,我没看懂问题以上是关于如何在 JavaScript 中使用 Mongoose 动态更新文档?的主要内容,如果未能解决你的问题,请参考以下文章
nestjs mongoose .insertMany 不是函数