{
_id: "d473ad718f214f158b31d591a97a5ce7",
name: 'sam',
keys: {
q8f3ff57b03940959e1ae4dfe2cb57ad: {
serviceaccountkey: {
keyID: 'q8f3ff57b03940959e1ae4dfe2cb57ad',
status: 'ACTIVE',
keytype: 2,
}
},
m887f7854adb4907b57903b896bcf6d6: {
serviceaccountkey: {
keyID: 'm887f7854adb4907b57903b896bcf6d6',
status: 'ACTIVE',
keytype: 2,
}
}
}
}
}
Suppose this is a document. How do I remove the first key, with ID "q8f3ff57b03940959e1ae4dfe2cb57ad" from this document? I want the end result to look like:
{
_id: "d473ad718f214f158b31d591a97a5ce7",
name: 'sam',
keys: {
m887f7854adb4907b57903b896bcf6d6: {
serviceaccountkey: {
keyID: 'm887f7854adb4907b57903b896bcf6d6',
status: 'ACTIVE',
keytype: 2,
}
}
}
}
}
CodePudding user response:
Use $unset:
db.collection.update({},
{
"$unset": {
"keys.q8f3ff57b03940959e1ae4dfe2cb57ad": ""
}
})
CodePudding user response:
This should do if you have many documents matching that ID or key
db.collection.updateMany({},{"$unset":{"keys.q8f3ff57b03940959e1ae4dfe2cb57ad":1}})