Node.js 如何在mongo DB中设置或更新值

Node.js 如何在mongo DB中设置或更新值,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在尝试更新Mongo DB中的值。但我不知道该怎么办 我的收藏 [ { "_id": ObjectId("5dc0ca61299ca457b954ebe9"), "Emp No": "a1yyy4n9", "Emp Name": "anuj sharma", "Card No": "27536", "Department": "accenture", "Gender": "", "Att Date": ISODate("2019-0

我正在尝试更新Mongo DB中的值。但我不知道该怎么办

我的收藏

[
  {
    "_id": ObjectId("5dc0ca61299ca457b954ebe9"),
    "Emp No": "a1yyy4n9",
    "Emp Name": "anuj sharma",
    "Card No": "27536",
    "Department": "accenture",
    "Gender": "",
    "Att Date": ISODate("2019-09-06T18:30:00Z"),
    "In Time": ISODate("2019-09-07T04:10:00Z"),
    "Out Time": ISODate("2019-09-07T11:42:00Z"),
    "Status": "O",
    "UpdatedStatus": "L",
    "Late By": "",
    "Early By": "",
    "Total Hour": "07:32",
    "OT Hour": "07:32",
    "Location": "plot 5",
    "TmResource": "Y",
    "ReportingTo": "b0207296",
    "PartnerManagerSubmitted": true,
    "ManagerSubmitted": false,
    "attendanceAdded": false,
    "ManagerId": "",
    "Remarks": "",
    "id": "a1yyy4n9-Sat Sep 07 2019 00:00:00 GMT+0530-plot 5",
    "__v": 0
  }{
    "_id": ObjectId("5dc0ca61299ca457b954ebf1"),
    "Emp No": "a1yyy4n9",
    "Emp Name": "anuj sharma",
    "Card No": "27536",
    "Department": "accenture",
    "Gender": "",
    "Att Date": ISODate("2019-09-20T18:30:00Z"),
    "In Time": ISODate("2019-09-21T03:58:00Z"),
    "Out Time": ISODate("2019-09-21T11:40:00Z"),
    "Status": "O",
    "UpdatedStatus": "L",
    "Late By": "",
    "Early By": "",
    "Total Hour": "07:42",
    "OT Hour": "07:42",
    "Location": "plot 5",
    "TmResource": "Y",
    "ReportingTo": "b0207296",
    "PartnerManagerSubmitted": true,
    "ManagerSubmitted": false,
    "attendanceAdded": false,
    "ManagerId": "",
    "Remarks": "",
    "id": "a1yyy4n9-Sat Sep 21 2019 00:00:00 GMT+0530-plot 5",
    "__v": 0
  }{
    "_id": ObjectId("5dc0ca61299ca457b954ec25"),
    "Emp No": "a1z908kw",
    "Emp Name": "pratishtha rai",
    "Card No": "35151",
    "Department": "accenture",
    "Gender": "",
    "Att Date": ISODate("2019-09-06T18:30:00Z"),
    "In Time": ISODate("2019-09-07T03:43:00Z"),
    "Out Time": ISODate("2019-09-07T12:47:00Z"),
    "Status": "O",
    "UpdatedStatus": "L",
    "Late By": "",
    "Early By": "",
    "Total Hour": "09:04",
    "OT Hour": "09:04",
    "Location": "plot 5",
    "TmResource": "Y",
    "ReportingTo": "b0207296",
    "PartnerManagerSubmitted": true,
    "ManagerSubmitted": false,
    "attendanceAdded": false,
    "ManagerId": "",
    "Remarks": "",
    "id": "a1z908kw-Sat Sep 07 2019 00:00:00 GMT+0530-plot 5",
    "__v": 0
  }{
    "_id": ObjectId("5dc0ca61299ca457b954ec29"),
    "Emp No": "a1z908kw",
    "Emp Name": "pratishtha rai",
    "Card No": "35151",
    "Department": "accenture",
    "Gender": "",
    "Att Date": ISODate("2019-09-20T18:30:00Z"),
    "In Time": ISODate("2019-09-21T03:41:00Z"),
    "Out Time": ISODate("2019-09-21T08:59:00Z"),
    "Status": "O",
    "UpdatedStatus": "L",
    "Late By": "",
    "Early By": "",
    "Total Hour": "05:18",
    "OT Hour": "05:18",
    "Location": "plot 5",
    "TmResource": "Y",
    "ReportingTo": "b0207296",
    "PartnerManagerSubmitted": true,
    "ManagerSubmitted": false,
    "attendanceAdded": false,
    "ManagerId": "",
    "Remarks": "",
    "id": "a1z908kw-Sat Sep 21 2019 00:00:00 GMT+0530-plot 5",
    "__v": 0
  }
]
我只想首先找到所有
节点
,并将
管理器提交
设置为true,并更新
状态
中存在的任何值

导出输出

  [
    {
        "_id": ObjectId("5dc0ca61299ca457b954ebe9"),
        "Emp No": "a1yyy4n9",
        "Emp Name": "anuj sharma",
        "Card No": "27536",
        "Department": "accenture",
        "Gender": "",
        "Att Date": ISODate("2019-09-06T18:30:00Z"),
        "In Time": ISODate("2019-09-07T04:10:00Z"),
        "Out Time": ISODate("2019-09-07T11:42:00Z"),
        "Status": "L",
        "UpdatedStatus": "L",
        "Late By": "",
        "Early By": "",
        "Total Hour": "07:32",
        "OT Hour": "07:32",
        "Location": "plot 5",
        "TmResource": "Y",
        "ReportingTo": "b0207296",
        "PartnerManagerSubmitted": true,
        "ManagerSubmitted": true,
        "attendanceAdded": false,
        "ManagerId": "",
        "Remarks": "",
        "id": "a1yyy4n9-Sat Sep 07 2019 00:00:00 GMT+0530-plot 5",
        "__v": 0
    }{
    "_id": ObjectId("5dc0ca61299ca457b954ebf1"),
        "Emp No": "a1yyy4n9",
        "Emp Name": "anuj sharma",
        "Card No": "27536",
        "Department": "accenture",
        "Gender": "",
        "Att Date": ISODate("2019-09-20T18:30:00Z"),
        "In Time": ISODate("2019-09-21T03:58:00Z"),
        "Out Time": ISODate("2019-09-21T11:40:00Z"),
        "Status": "L",
        "UpdatedStatus": "L",
        "Late By": "",
        "Early By": "",
        "Total Hour": "07:42",
        "OT Hour": "07:42",
        "Location": "plot 5",
        "TmResource": "Y",
        "ReportingTo": "b0207296",
        "PartnerManagerSubmitted": true,
        "ManagerSubmitted": true,
        "attendanceAdded": false,
        "ManagerId": "",
        "Remarks": "",
        "id": "a1yyy4n9-Sat Sep 21 2019 00:00:00 GMT+0530-plot 5",
        "__v": 0
}{
    "_id": ObjectId("5dc0ca61299ca457b954ec25"),
        "Emp No": "a1z908kw",
        "Emp Name": "pratishtha rai",
        "Card No": "35151",
        "Department": "accenture",
        "Gender": "",
        "Att Date": ISODate("2019-09-06T18:30:00Z"),
        "In Time": ISODate("2019-09-07T03:43:00Z"),
        "Out Time": ISODate("2019-09-07T12:47:00Z"),
        "Status": "L",
        "UpdatedStatus": "L",
        "Late By": "",
        "Early By": "",
        "Total Hour": "09:04",
        "OT Hour": "09:04",
        "Location": "plot 5",
        "TmResource": "Y",
        "ReportingTo": "b0207296",
        "PartnerManagerSubmitted": true,
        "ManagerSubmitted": true,
        "attendanceAdded": false,
        "ManagerId": "",
        "Remarks": "",
        "id": "a1z908kw-Sat Sep 07 2019 00:00:00 GMT+0530-plot 5",
        "__v": 0
}{
    "_id": ObjectId("5dc0ca61299ca457b954ec29"),
        "Emp No": "a1z908kw",
        "Emp Name": "pratishtha rai",
        "Card No": "35151",
        "Department": "accenture",
        "Gender": "",
        "Att Date": ISODate("2019-09-20T18:30:00Z"),
        "In Time": ISODate("2019-09-21T03:41:00Z"),
        "Out Time": ISODate("2019-09-21T08:59:00Z"),
        "Status": "L",
        "UpdatedStatus": "L",
        "Late By": "",
        "Early By": "",
        "Total Hour": "05:18",
        "OT Hour": "05:18",
        "Location": "plot 5",
        "TmResource": "Y",
        "ReportingTo": "b0207296",
        "PartnerManagerSubmitted": true,
        "ManagerSubmitted": true,
        "attendanceAdded": false,
        "ManagerId": "",
        "Remarks": "",
        "id": "a1z908kw-Sat Sep 21 2019 00:00:00 GMT+0530-plot 5",
        "__v": 0
}
]
请参阅
updatedStatus
status
这两种状态都相同。 我能做到吗

db.collection.update(
            {
                $and : [
                    {
                        $expr:{
                            $ne:["$UpdatedStatus", "$Status"]
                        }
                    },
                    {'ReportingTo': 'b0207296' }
                ]
            }
           , {"$set": {"ManagerSubmitted": true}}, {"multi": true});
我不知道如何将
updatedstaus
值设置为
状态


任何更新 参考:

您的查询应如下所示:

db.collectionName.aggregate( [
  {
    $addFields: {
      status : "$updatedstaus",     
    }
  }
] )