首页 > 解决方案 > MongoDB删除数组内容

问题描述

我正在尝试用我的代码删除数组项,到目前为止还没有任何效果。

在此处输入图像描述

PS:需要删除的内容在data数组中

我尝试使用下面的代码来做到这一点,但它仍然无法正常工作。

newdevice.update({vic_num:vcnm},{ $pull: { "data": [] } },(err,data)=>{
            if(err) throw err;
            console.log(data);
        })

标签: node.jsmongodb

解决方案


如果你想用空白数组初始化,那么你可以使用$set

newdevice.update({vic_num:vcnm},{ $set: { "data": [] } },(err,data)=>{
            if(err) throw err;
            console.log(data);
        })

如果您想使用$pull那么您必须提供条件或完全匹配的值,如下所示

newdevice.update({vic_num:vcnm},{ $pull: { "data": { $nin: [ 5 ] } } },(err,data)=>{
            if(err) throw err;
            console.log(data);
        })

在上面的例子中,除了 5 之外的所有数据都将被删除,请参考$pull 文档


推荐阅读