我使用在服务器端执行的脚本(Mongo版本 - 3.4.10)向数组添加了未定义的值。
我们说我有像
这样的文件{
"array" : ["a","b", undefined]
}
我想删除未定义的元素。
当我像这样查询时
find({"array" : {$elemMatch : {$in : [null], $exists : true} }})
它返回上面的文档 - Mongo将null和undefined视为相等。
但是,下面的更新查询不会按预期删除元素(适用于空值)
update({} ,{ $pull : {"array" : {$in : [null]} }}, {multi : true})
也不可能将undefined用作数学表达式
InMatchExpression equality cannot be undefined
问题:在这种情况下如何删除元素?