MongoDB删除数组内容

时间:2018-06-27 08:21:01

标签: node.js mongodb

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

enter image description here

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

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

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

2 个答案:

答案 0 :(得分:1)

如果要使用空白数组初始化,则可以使用$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 documentation

答案 1 :(得分:0)

You can refer this documentation also $pull newdevice.update({vic_num:vcnm},{ $pull: { "data":{ $in: ["your fields"] } } },(err,data)=>{ if(err) throw err; console.log(data); })