Search code examples
jsonmongodbdeprecatedobsolete

mongo db remove json objects


I have a mongo json object as follows

{
  "_id" : new BinData(3, "RDHABb22XESWvP83FplqJw=="),
  "name" : "NEW NODE",
  "host" : null,
  "aet" : null,
  "studies" : ["1.3.12.2.1107.5.99.3.30000008061114424970500000589"],
  "testcases" : [new BinData(3, "Zhl+zIXomkqAd8NIkRiTjQ==")],
  "sendentries" : [{
     "_id" : "1.3.12.2.1107.5.99.3.30000008061114424970500000589",
     "Index" : 0,
     "Type" : "Study"
     }, {
      "_id" : "cc7e1966-e885-4a9a-8077-c3489118938d",
      "Index" : 1,
      "Type" : "TestCase"
    }]
}

The fields "Studies" and "TestCases" are now obsolete and I am now storing that information in a new field called SendEntries. I would like to get rid of the Studies and TestCases from the old entries and unmap those fields going forward. I want to know how I can update my current collections to get rid of the Studies and TestCases fields.

I'm just few weeks into Mongo.


Solution

  • You can use the $unset operator with update.

    db.collection.update({},
        { $unset: {
          "studies": "",
          "testcases": ""
        },
        { "upsert": false, "muti": true }
    )
    

    And that will remove all of the fields from all of your documents in your collection