Попытка вытащить вложенный массив из вложенного документа в Express - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь удалить вложенный элемент из вложенного документа в Mongoose с помощью Express, но не могу заставить его работать

Это документ:

{
    "_id" : ObjectId("5c4adf6a89679a1c0f5a15d4"),
    "title" : "TestItem",
    "subitem" : [ 
        {
            "_id" : ObjectId("5c4adf7189679a1c0f5a15d5"),
            "title" : "Test",
            "messages" : [ 
                {
                    "_id" : ObjectId("5c4ae0001c5b3f1c57470a32"),
                    "type" : "single_article",
                    "date" : "Jan 25, 2019",
                    "title" : "Test",
                    "text" : "<p>Test</p>"
                }
            ]
        }
    ],
    "__v" : 0
}

Теперь я пытаюсь удалить объект в массиве сообщений с помощью Express:

getController.deleteRec = function(req,res,collection){
  var id = req.params.id;
  console.log(id);
  collection.findByIdAndUpdate({'subitem.messages._id': id}, {$pull:{'subitem.$.messages._id': id}}).
    then(function(result){
      console.log(result);
    });
};

Переменная "id" - это идентификатор массива сообщений

...