如何在对象的嵌套数组中取消设置值? MongoDB

时间:2019-11-26 19:09:25

标签: mongodb

您如何设定治疗,喜欢或疾病等价值? 我尝试过

db.myCollection.update({first_name:"QQQ"},{$unset:{"history.treatment":1}});

找到匹配项,但不会取消设置。我在做什么错了?

myCollection:

 { first_name: "QQQ",
last_name: "BBBB",

"history" : [
                {
                        "disease" : [
                                "X",
                                "Y",
                                "Z"
                        ],
                        "treatment" : "No treatment",
                        "likes" : "french fries"
                }
        ]}

1 个答案:

答案 0 :(得分:1)

Treatement嵌套在history array内,因此您需要使用$[]位置运算符

db.myCollection.update({first_name:"QQQ"},{$unset:{"history.$[].treatment":1}});