обновление вложенного поля в пн go (обновление внутри запроса на обновление) - PullRequest
0 голосов
/ 30 марта 2020

Используя приведенный ниже запрос, я могу установить status.id, status.name в зависимости от условия. Но в то же время мне нужно обновить milestone completeDate для конкретного этапа в массиве milestone, где его milestoneID равен -1 для тех же документов.

db.collection.findOneAndUpdate({ formData: { $elemMatch: { value: todayDate } } }, { $set: { 'status.id': -1, 'status.name': 'Closed' } }, { multi: true }, function (err, result) {

});

образец документа:

{
    "_id" : ObjectId("5e7defd5cb90e73710d0a9de"),
    "status" : {
        "id" : NumberInt("-2"),
        "name" : "SR_EXECUTION STARTED"
    },
    "milestone" : [
        {
            "milestoneID" : NumberInt("-1"),
            "completedDate": ????
        },
        {
            "milestoneID" : NumberInt("0")
            "currentMilestone" : false
        },
        {
            "milestoneID" : NumberInt("-2"),
            "currentMilestone" : false
        }
    ],
    "cost" : NumberInt("0"),
    "formData" : [
        {
            "label" : "Name",
            "value" : "Test"
        },
        {
            "label" : "Description",
            "value" : "test"
        },
        {
            "label" : "Start Date",
            "value" : "2020-Mar-27"
        },
        {
            "label" : "End Date",
            "value" : "2020-Apr-30"
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...