首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法使用nodes和express js在MongoDB中只更新一个单元格记录?

有没有办法使用nodes和express js在MongoDB中只更新一个单元格记录?
EN

Stack Overflow用户
提问于 2021-10-02 13:01:25
回答 1查看 28关注 0票数 0

我只想更新mongoDB数据的一条记录,例如,在下面的给定数据中,我想要更新CAD值

代码语言:javascript
复制
[
  {
    _id: new ObjectId("615564fbab33d4da1ab2d9bb"),
    AUD: 20,
    CAD: 92.8,
    CHF: 69.14,
    EUR: 63.03,
    GBP: 54.22,
    KWD: 22.49,
    __v: 0
  }
]

那么更新其记录的查询将是什么,并且我从前端获得了两个输入

代码语言:javascript
复制
var doc= {
  TNAME:req.body.tname,
  TVALUE:re.body.tvalue
  }

这里的TNAME是CAD,TVALUE将是它的更新值。在前端,代码是这样的

代码语言:javascript
复制
 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是使用状态,即

代码语言:javascript
复制
 const [tname, setname] = useState("");
  const [tvalue, setvalue] = useState("");

应该如何编写查询以访问CAD/或任何其他特定数组记录。

EN

回答 1

Stack Overflow用户

发布于 2021-10-02 13:09:36

您可以编写更新查询,并在object的[tname]中设置更新键。

使用updateMany更新多个文档,对于单个文档更新可以使用updateOne方法,

代码语言:javascript
复制
let result = await MemberFee.updateOne(
  { _id: _id }, 
  { $set: { [req.body.tname]: re.body.tvalue } }
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69417145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档