Mongodb 试图理解mongo$unset
如果我有这样的文件Mongodb 试图理解mongo$unset,mongodb,unset,Mongodb,Unset,如果我有这样的文件 { mykey:1, myarr: [8, 9, 10] } 并对数组位置使用$unset运算符来取消设置 第0个元素为: {$unset:{myarr.0:1}} 我的文件变为 {mykey:1,myarr:[9,10]} 现在,值“9”是我数组的第0个元素还是第一个元素?当与$unset一起用于数组元素时,$unset将匹配元素替换为null,而不是从数组中删除匹配元素。此行为使数组大小和元素位置保持一致。 在您的例子中,9是数组的第一个元素。参考谢谢@Muruga
{ mykey:1, myarr: [8, 9, 10] }
并对数组位置使用$unset
运算符来取消设置
第0个元素为:
{$unset:{myarr.0:1}}
我的文件变为
{mykey:1,myarr:[9,10]}
现在,值“9”是我数组的第0个元素还是第一个元素?当与$unset一起用于数组元素时,$unset将匹配元素替换为null,而不是从数组中删除匹配元素。此行为使数组大小和元素位置保持一致。
在您的例子中,9是数组的第一个元素。参考谢谢@Murugan的回答。在这种情况下,是否有方法使用数组位置删除元素?我发现$pull根据值的条件删除数组元素。这是唯一的方法吗?我认为$pull是从数组中删除元素的唯一方法