Пн go: несколько долларов в c не работают в Mongoose - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь сделать $ в c на 2 поля, points и sports.wins:

введите описание изображения здесь

Когда я пытаюсь сделать это через оболочку mon go, она работает:

db.getCollection('userStats').update({
                uid: ObjectId("5ed1bd8313955cbfc60df96f"),
                "sports._id": ObjectId("5ed533c44dcb3efcfe8cb0ec")
            },
                {
                    "$inc": { "sports.$[sports].wins" : 1, "points": 10 },
                },
                { 
                    "arrayFilters": [ 
                            { "sports._id": ObjectId("5ed533c44dcb3efcfe8cb0ec") } 
                    ]
                }
            );

Однако, когда я пытаюсь сделать это с помощью bulkWrite (через Mon goose), обновляется только поле wins:

let bulkArray = [];

bulkArray.push({
                updateOne: {
                    filter: {
                        uid: usersWon[i].uid,
                        "sports._id": eventData.reference.sport
                    },
                    update: {
                        "$inc": { 
                            "points": 10,
                            "sports.$[sport].wins": 1,
                        }
                    },
                    arrayFilters: [
                        {
                            "sport._id": sportId
                        }
                    ]
                }
            });
await UserStats.bulkWrite(bulkArray);

Что я делаю не так? спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...