试图理解 mongo $unset
Posted
技术标签:
【中文标题】试图理解 mongo $unset【英文标题】:trying to understand mongo $unset 【发布时间】:2018-07-16 04:40:30 【问题描述】:如果我有类似的文件
mykey:1, myarr: [8, 9, 10]
并使用$unset
运算符和数组位置来取消设置
第 0 个元素为:
$unset:myarr.0:1
我的文档变成了
mykey:1, myarr:[9, 10]
现在,值“9”是我数组的第 0 个元素还是第一个元素?
【问题讨论】:
【参考方案1】:当与 $unset 一起用于数组元素时,$unset 用 null 替换匹配的元素,而不是从数组中删除匹配的元素。此行为使数组大小和元素位置保持一致。 在您的情况下, 9 是数组的第一个元素。参考$unset
【讨论】:
感谢@Murugan 的回答。在这种情况下,有没有办法使用数组位置删除元素?我发现 $pull 根据值的条件删除了一个数组元素。这是唯一的方法吗? 我认为 $pull 是从数组中删除元素的唯一方法以上是关于试图理解 mongo $unset的主要内容,如果未能解决你的问题,请参考以下文章
学习mongo系列修改器($inc/$set/$unset/$push/$pop/upsert)