У меня есть этот документ bson в коллекции.Я хочу удалить ключ на основе динамического значения.
{
"_id": ObjectId("53ccff9bbb25567911f208a2"),
"image": {
"image1": "5213423424234.jpg",
"image2": "5213423424235.jpg",
"image3": "5213423424236.jpg"
}
}
В запросе я получу "image1"
temp/5bb3685b663c6f001d14c5da/dl/image1
Я сохранил ключ в переменной
let keyid = req.params.k_id
Если я вызываю ключ напрямую, этоработает.
let qry = {
_id: mongojs.ObjectId(req.params.p_id)
}
let update = {
$unset: {
"image.image1": ""
}
}
db.inventory.findAndModify({
query: qry,
update: update,
safe: true
}, function (err, doc) {
if (err) {
res.status(500).json({
"success": false,
"error": err
})
return
}
res.status(200).json({
"success": true,
"message": "Deleted image key"
})
return
})
Но так как ключ является динамическим, я не могу найти решение с различными возможностями
// Try1
$unset: {
'image.' + keyid: ""
},
// Try2
$unset: {
`image.${keyid}`: ""
}