【发布时间】: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 个元素还是第一个元素?
【问题讨论】:
如果我有类似的文件
{ mykey:1, myarr: [8, 9, 10] }
并使用$unset 运算符和数组位置来取消设置
第 0 个元素为:
{$unset:{myarr.0:1}}
我的文档变成了
{mykey:1, myarr:[9, 10]}
现在,值“9”是我数组的第 0 个元素还是第一个元素?
【问题讨论】:
当与 $unset 一起用于数组元素时,$unset 用 null 替换匹配的元素,而不是从数组中删除匹配的元素。此行为使数组大小和元素位置保持一致。
在您的情况下, 9 是数组的第一个元素。参考$unset
【讨论】: