CodeNewbie Community

Cover image for How to do bulk updates in MongoDB
Donald Feury
Donald Feury

Posted on • Originally published at donaldfeury.xyz on

How to do bulk updates in MongoDB

How to do bulk updates in MongoDB

For a full overview of MongoDB and all my posts on it, check out my overview.

MongoDB provides several ways to update specifically one document and bulk updating is done in almost the same way.

Using the following data:

db.podcasts.insertMany([
    {
        "name": "Tech Over Tea",
        "episodeName": "#75 Welcome Our Hacker Neko Waifu | Cyan Nyan",
        "dateAired": ISODate("2021-08-02"),
        "listenedTo": true,
    },
    {
        "name": "Tech Over Tea",
        "episodeName": "Neckbeards Anonymous - Tech Over Tea #20 - feat Donald Feury",
        "dateAired": ISODate("2020-07-13"),
        "listenedTo": true
    },
    {
        "name": "Tech Over Tea",
        "episodeName": "#34 The Return Of The Clones - feat Bryan Jenks",
        "dateAired": ISODate("2020-10-19"),
        "listenedTo": false
    },
    {
        "name": "Cinemassacre Podcast",
        "episodeName": "AVGN Fan Q&A, Starting a Band, and the Last Year - Cinemassacre Podcast",
        "dateAired": ISODate("2021-08-10"),
        "listenedTo": true
    }
])

Enter fullscreen mode Exit fullscreen mode

Let's update all the "Tech Over Tea" podcasts entry to be marked as listened to using update. In order to update multiple documents using update, we have to pass in an optional argument to tell MongoDB to do that.

db.podcasts.update(
    {name: "Tech Over Tea"},
    {$set: { listenedTo: true} },
    {multi: true}
)

Enter fullscreen mode Exit fullscreen mode

We can achieve the same result using updateMany.

db.podcasts.updateMany(
    {name: "Tech Over Tea"},
    {$set: { listenedTo: true} }
)

Enter fullscreen mode Exit fullscreen mode

Discussion (0)