我只想更新mongoDB数据的一条记录,例如,在下面的给定数据中,我想要更新CAD值
[
{
_id: new ObjectId("615564fbab33d4da1ab2d9bb"),
AUD: 20,
CAD: 92.8,
CHF: 69.14,
EUR: 63.03,
GBP: 54.22,
KWD: 22.49,
__v: 0
}
]那么更新其记录的查询将是什么,并且我从前端获得了两个输入
var doc= {
TNAME:req.body.tname,
TVALUE:re.body.tvalue
}这里的TNAME是CAD,TVALUE将是它的更新值。在前端,代码是这样的
var doc={tname,tvalue};
axios.put('/memfeeput', doc)
.then( res => {
alert('Updated successfully!');
}
)
.catch(err => {
console.log(err.response);
alert('An error occurred! Try submitting the form again.');
});其中,在代码var doc={tname,tvalue};中,tname和tvalue是使用状态,即
const [tname, setname] = useState("");
const [tvalue, setvalue] = useState("");应该如何编写查询以访问CAD/或任何其他特定数组记录。
发布于 2021-10-02 13:09:36
您可以编写更新查询,并在object的[tname]中设置更新键。
使用updateMany更新多个文档,对于单个文档更新可以使用updateOne方法,
let result = await MemberFee.updateOne(
{ _id: _id },
{ $set: { [req.body.tname]: re.body.tvalue } }
);https://stackoverflow.com/questions/69417145
复制相似问题