MongoDBからサブ文書を削除しようとしたときに質問があります。ここでアレイからすべてのオブジェクトを削除します。私の仕様に従っていない
は私のデータ構造である:
"event" : {
"_id": "581fec8011acfb28f6bb0b96",
"participants": [
{
"_id": "582041475aa37c0e27fde28b",
"regDate": "2016-11-07T08:54:31.155Z",
"group": "board member",
"lastName": "1",
"firstName": "test",
"eventCode": "07e05d"
},
{
"_id": "5820414b5aa37c0e27fde28c",
"regDate": "2016-11-07T08:54:35.462Z",
"group": "participant",
"lastName": "2",
"firstName": "test",
"eventCode": "f1685a"
},
{
"_id": "5820414e5aa37c0e27fde28d",
"regDate": "2016-11-07T08:54:38.441Z",
"group": "participant",
"lastName": "3",
"firstName": "test",
"eventCode": "a71ec5"
}
]
}
私は一人の参加者を削除するためにlodashを使用しようとしましたが、私の参加者のすべてを削除しlodash。この問題を解決するのに手伝ってもらえますか?
私は問題クライアント側で
var alias = req.params.alias;
var pid = req.params.pid;
var findAndRemoveParticipant = new Promise ((resolve, reject) => {
Event.findOne({
"alias":alias
},'participants')
.exec((err, event) => {
if(err) reject(err)
else {
_.remove(event.participants, {_id: pid});
event.save((err, saved) => {
err ? reject(err) : resolve(saved)
})
}
})
});
findAndRemoveParticipant
.then(saved => {
res.status(200).json('Participant removed successfully');
})
.catch(err => res.status(400).json(err));
私は同じコードを使用し、それが
$http.delete(_deleteParApi)
.success(msg => {
$scope.parRemoved = msg;
_.remove($scope.participants,{_id: pid})
})
.catch(err => {
console.log(err);
})
ありがとう、私は私の問題を解決した。しかし、私はまだロダシュが私の状況で動作しない理由を理解していない。 –