Задать вопрос

Как удалить документы по полю?

Здравствуйте, возник такой вопрос, я начал ознакомление со стеком технологий node js express + mongodb (mongoose я пока исключаю, говорю сразу чтобы исключить вопросы по нему).

Есть БД users, в ней коллекция user, в ней документы со следующими полями:

{
                "_id" : ObjectId("5d8342f4b172fcb285fc597a"),
                "name" : "Andrey",
                "age" : 32,
                "sex" : {
                        "male" : true,
                        "female" : false
                }
        },
        {
                "_id" : ObjectId("5d834329b172fcb285fc597c"),
                "name" : "Anna",
                "age" : 48,
                "sex" : {
                        "male" : false,
                        "female" : true
                }
        },
        {
                "_id" : ObjectId("5d8369c1b172fcb285fc597e"),
                "name" : "Anna",
                "age" : 48,
                "postIndex" : 67890
        },
        {
                "_id" : ObjectId("5d8369d4b172fcb285fc597f"),
                "name" : "Andrey",
                "age" : 48,
                "postIndex" : 123456
        },
        {
                "_id" : ObjectId("5d836bb2b172fcb285fc5980"),
                "name" : "Anton",
                "age" : 48,
                "postIndex" : "123456"
        },
        {
                "_id" : ObjectId("5d836c52b172fcb285fc5981"),
                "name" : "Annete",
                "age" : 48,
                "postIndex" : -1975
        },
        {
                "_id" : ObjectId("5d836e91b172fcb285fc5982"),
                "name" : "Annete",
                "age" : 48,
                "postIndex" : 0.0016502834182392193
        },
        {
                "_id" : ObjectId("5d836ec6b172fcb285fc5983"),
                "name" : "Annete",
                "age" : 48,
                "postIndex" : ISODate("2019-09-19T12:04:22.380Z")
        }


Я хотел бы удалить все документы, у которых есть поле postIndex и не важно какое значение у них есть.

Я понял, чтобы удалить все документы у которых есть это поле с ЦЕЛОЧИСЛЕННЫМИ значениями нужно на сервере прописать следующее:
db.user.remove($where:"/[0-9]+/.test(this.postIndex)")


Меня интересуют два вопроса, так как ответы на них я не нашел (перерыл всё, включая и гугл и доку):
1. Как на Node JS Express выполнить такую же команду, чтобы удалить с целочисленными значениями?
2. Как можно на сервере и на Node JS Express удалить документ в коллекции по его наличию какого-либо поля? (в данном примере postIndex)

Буду благодарен за любые ответы, комментарии или даже просто наводки на решение данной проблемы.
  • Вопрос задан
  • 35 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы