我在我的集合中有以下数据,我正在尝试更新数组 .

{
  "DESCRIPTION": "Sample",
  "USERS": [
    {
      "USER_ID": "001",
      "USER_TYPE": "A",
      "USER_ACCOUNT": "ACCOUNTS"
    },
    {
      "USER_ID": "002",
      "USER_TYPE": "A",
      "USER_ACCOUNT": "ACCOUNTS"
    }
  ]
}

First Case
如果我想更新USER_ID "001"的USER_TYPE,如何使用mongo查询 . 在查询下面我试过它总是在USERS数组中推送一个新条目 .

db.test.update({"USERS": {"$elemMatch":{"USER_ID":"001"}}},{"$addToSet":{"USERS":{"USER_ID":"001","USER_TYPE":"B","USER_ACCOUNT":"ACCOUNTS"}}},{"upsert":true})

Second case
如果在UPDATE查询中传递新的USER_ID,则必须将新条目推送到数组 .

有人可以帮助我,我做错了 .