在Mongoose的Models中如何删除数组中特定位置的数据?

问题描述

如何删除mongodb中的数组里面特定位置的数据?
如这样的一个飞机的实体:

number:B-xxxx,
components:[fuselage,wings,engines,landinggears]

我现在希望删除components中的第三个数据,但是没有找到办法按照索引删除。

问题出现的环境背景及自己尝试过哪些方法

想要删除实例中的数组的数据,一般使用$pop或者$pull方法。
但是$pop只能删除第一位或者最后一位的数据,$pull方法必须规定要删除的数据的名称

相关代码

var jobcardSchema = new mongoose.Schema({

AIRPLANENUMBER:{type:String,unique:false,requied:true},MAINTAINNUMBER:{type:String,unique:false},MAINTAINDATE:{type:Date},MISSION:{type:Array}

},{versionKey:'_somethingElse'});

var jobcard = mongoose.model('dbjobcard',jobcardSchema,'JOBCARD');

jobcard.findOneAndUpdate({AIRPLANENUMBER:"xxxx",MAINTAINNUMBER:'xxx'},{$pop:{MISSION:-1}},function(err,result){});
// 这样的方法只能删除第一位的数据

求救,MAYDAY


精慕HU
浏览 1565回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js