В mongoDb, как вы удаляете объект в массиве, который содержит определенный ключ и значение?

Я пытаюсь удалить поле из массива учителя, который содержит определенный предмет, например "ok baby"

{
"_id" : "billy",
"password" : "$2a$10$MKZFNtMhts6rMbnIoqXB9.Q8NHAizQAGhX5S6g.8zeRt7TpRpuQea",
"teacher" : [
    {
        "subject" : "ok baby",
        "students" : [
            "billy"
        ]
    },
    {
        "subject" : "adsfqewr",
        "students" : [
            "billy"
        ]
    }
]
}

Вот что я попробовал:

users.update(      { 'teacher.subject':title, '_id':username},
                   { $pull: { 'teacher.subject':title } },
                   { multi: true }
)

1 ответ

Решение

Запрос должен быть таким:., Извлечение данных из массива - учитель, а заголовок равен заголовку...

users.update( { 'teacher.subject':title, '_id':username},
               { $pull: { 'teacher':{'subject':title}} },
               { multi: true }
 );
Другие вопросы по тегам