Показать сообщение отдельно
  #1 (permalink)  
Старый 09.01.2019, 11:20
Аспирант
Отправить личное сообщение для jabbascript Посмотреть профиль Найти все сообщения от jabbascript
 
Регистрация: 27.11.2017
Сообщений: 45

Найти и удалить элемент по ид находящийся во вложенной схеме Mongoose
Здравствуйте!!!

Подскажите как выбрать первый subtitle по ид и удалить его? Я пробовал много чего например:
const fcat = await Category.findOne({_id: req.body.parentId}, {subcategories: {$elemMatch: { _id: req.body.id }}});

У меня выбирает:
fcat ========> { _id: 5c35969723b5683be8f3b8b7,
  subcategories:
   [ { visible: true,
       description: 'Подкатегория 2',
       keywords: 'Подкатегория 2',
       sort: 0,
       _id: 5c3596b323b5683be8f3b8b9,
       name: 'Подкатегория 2',
       slug: 'podkategoriya-2',
       parent: 5c35969723b5683be8f3b8b7,
       categoryslug: 'kategoriya-2',
       created_at: 2019-01-09T06:37:39.647Z,
       updated_at: 2019-01-09T06:37:39.647Z } ] }

Проблема в том что я никак не могу выбрать элемент из subcategories по ид и сделать чтото типа Category.findByIdAndRemove({
_id: req.body.id,
});
{
    "_id" : ObjectId("5c335845de2c34490626655d"),
    "visible" : true,
    "sort" : 49,
    "name" : "title",
    "slug" : "title",
    "description" : "title",
    "keywords" : "title",
    "user" : ObjectId("5c33357434a7fb328f7f0d5d"),
    "subcategories" : [ 
        {
            "visible" : true,
            "description" : "subtitle",
            "keywords" : "subtitle",
            "sort" : 10,
            "_id" : ObjectId("5c3358dede2c34490626655f"),
            "name" : "subtitle",
            "slug" : "o-subtitle",
            "parent" : ObjectId("5c335845de2c34490626655d"),
            "categoryslug" : "subtitle",
            "created_at" : ISODate("2019-01-07T13:49:18.563Z"),
            "updated_at" : ISODate("2019-01-07T13:49:18.563Z")
        }, 
        {
            "visible" : true,
            "description" : "subtitle2",
            "keywords" : "subtitle2",
            "sort" : 1,
            "_id" : ObjectId("5c335924de2c344906266560"),
            "name" : "subtitle2",
            "slug" : "subtitle2",
            "parent" : ObjectId("5c335845de2c34490626655d"),
            "categoryslug" : "subtitle2",
            "created_at" : ISODate("2019-01-07T13:50:28.930Z"),
            "updated_at" : ISODate("2019-01-07T13:50:28.930Z")
        }
    ],
    "created_at" : ISODate("2019-01-07T13:46:45.382Z"),
    "updated_at" : ISODate("2019-01-07T13:50:28.930Z"),
    "__v" : 2
}
Ответить с цитированием