как удалить дочерние записи при получении совпавших родителей, используя оболочку mon go - PullRequest
1 голос
/ 26 февраля 2020

Я использую команду оболочки mongodb, я могу получить данные для сбора, используя db.collection.find(findQuery).

В моем примере у меня есть таблица "Книги и авторы", и между ними много, много.

Пример данных о просмотре из таблицы книг (эти данные просматриваются почтальоном)

{"authors": [
            {
                "id": "123",
                "name": "Sivakumar"
            },
            {
                "id": "124",
                "name": "Ram"
            }
        ],
        "id": "456",
        "title": "Believe Yourself"
}

Я могу удалить запись автора с помощью db.authors.remove({name:"Ram"}). Это удаляет запись Ram, но я должен удалить все записи авторов, связанные с книгами, используя команду shell. Я не нашел никакой документации для заполнения в команде оболочки. Как я могу удалить записи авторов, используя команду find и заполнить в командной оболочке mon go.

1 Ответ

0 голосов
/ 27 февраля 2020

Я не полностью понимаю ваше сообщение / требование - $ unset удаляет поле из документа.

вы можете просто не проецировать поле автора в какие-либо результаты - так что с точки зрения вывода это не так там и не предполагает никакого фактического удаления.

Вы можете создать новую коллекцию, используя существующую коллекцию, и просто не включать поле авторов.

...