【问题标题】:How to define update criteria如何定义更新标准
【发布时间】:2016-12-31 04:28:15
【问题描述】:

我有一个输入一个字段的表单 - “companyName”:

<form method="post" id="uploadForm" enctype="multipart/form-data"  enctype="multipart/form-data" action="/edit_company/<%- company.name %>" method="post">    
    <input class="form-control" type="text" name="companyName" value="<%- company.name %>">    
    <input type="submit" class="btn btn-primary" name="submit" id="submit" value="Send!">           
</form>

如何使用指定条件更新 MongoDB 中的公司名称?如何定义此标准?

猫鼬查询示例:

Company.update({"some criteria": "some criteria"}, {$set: {name: req.body.companyName} });

更新前的采集示例:

> db.companies.findOne();
{
    "name" : "someName",
    "salt" : "0.8330190361011773",
    "_id" : ObjectId("53200580d0285e46618de6bc"),
    "created" : ISODate("2014-03-12T06:58:08.166Z"),
    "__v" : 0
}

【问题讨论】:

  • 但是您在哪里更新您的公司名称??
  • 通过mongoose在mongodb集合中
  • 条件,即您的对象 id => Company.update({"_id": ObjectId("53200580d0285e46618de6bc")}, {$set: {name: req.body.companyName} });
  • 谢谢,但我如何才能将此 objectId 传输到我的表单,然后从表单传输到我的标准?通过隐藏输入?
  • 是的,但那是一个字符串而不是对象ID,所以你必须将它转换成对象ID

标签: node.js mongodb mongoose


【解决方案1】:

条件,即您的对象 ID

=> Company.update({"_id": ObjectId("53200580d0285e46618de6bc")}, {$set: {name:req.body.companyName} });

【讨论】:

  • 谢谢,但需要考虑从 mongo 检索对象时 - 我们检索的是字符串,而不是某个对象,这让我很困惑
  • 每个 objectId 都将在您的会话中,以便您可以使用该 objectId 更新特定行。 objectId 的格式是 String,当你设置一个 session 或者从 session 中检索它时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
相关资源
最近更新 更多