I am doing something wrong or I don't understand $push (probably don't understand). Anyway I have the following document:

{
  "_id" : ObjectId("501c83051d41c8753e000000"), 
  "node" : "denver", 
  "enc" : {
    "environment" : "production",
    "classes" : {
      "denver" : ""
    }
  }, 
  "inherit" : "default"
}

And I am trying to make the document

{
  "_id" : ObjectId("501c83051d41c8753e000000"), 
  "node" : "denver", 
  "enc" : {
    "environment" : "production", 
    "classes" : {
      "denver" : "",
      "boulder" : ""
    }
  }, 
  "inherit" : "default"
}

This is what my update statement looks like:

col.update(
  {
    'node' : 'denver'
  }, 
  {
    '$push': {
      'enc.classes' : {
        'boulder': ''
      }
    }
  },
True)

I don't get an error but the document never updates. If I change $push to $set then the denver is replaced with boulder.

Thanks for any assistance.

Edit
Report