Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
}
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2019, 12:29
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

https://docs.mongodb.com/manual/refe...r/update/pull/

там найти:
The following operation updates all documents in the collection to remove "apples" and "oranges" from the array fruits and remove "carrots" from the array vegetables:
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2019, 13:45
Аспирант
Отправить личное сообщение для jabbascript Посмотреть профиль Найти все сообщения от jabbascript
 
Регистрация: 27.11.2017
Сообщений: 45

Ну чтото это все както сложно для свиду простой схемы.
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2019, 17:47
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

Category.findById(req.body.parentId, function(err, category) {
  category.subcategories.id(req.body.id).remove();
  category.save();
});
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удается удалить, добавленный элемент Megokryak jQuery 3 16.03.2014 20:48
как удалить элемент в DOM? czp Общие вопросы Javascript 11 17.12.2011 20:55
как найти и удалить массив из массива? FRIE Общие вопросы Javascript 8 14.03.2011 15:48
Как можно удалить динамически созданный элемент Арсений Элементы интерфейса 18 08.07.2010 12:56
имея this как удалить элемент из тела html clgs Общие вопросы Javascript 1 13.05.2009 17:55