Как добавить новые поля в mongodb при производстве и запросе?

Структурный вопрос о mongo db. У меня есть приложение node/express/mongoose, запрашивающее мою базу данных mongo для моего API отдыха, и оно работает в производстве.

Я хочу добавить новые поля для запроса, но проблема заключается в том, что во многих старых документах не будет этих новых полей. Как лучше всего добавить новое поле и запрос? Я использовал field :{ exists: true }, и это работает, но как мне запрашивать поля, если эти новые поля истинны или ложны?

Я хочу найти все документы, а не только, существуют ли эти конкретные поля или нет. Даже не уверен, что это возможно, мне может понадобиться добавить новые поля в каждый отдельный документ?

если это поле не существует в документе, оно будет считаться истинным или ложным?

Cuong Le Ngoc 07.07.2019 05:17
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
1
139
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

если поле, которое вы запрашиваете, не существует ни в одном документе, этот документ будет отброшен. Чтобы продемонстрировать это, вот два документа, которые у меня есть в коллекции, и в этих документах нет поля, по которому я запрашиваю. Mongo просто вернул документ that matched требования запроса

Образцы документов

{
    "_id": 2,
    "description": "QUESTION",
    "names": [
      "A",
      "B",
      "C",
      "D",
      "E"
    ]
  },
  {
    "_id": 3,
    "description": "ANSWER",
    "newField1": "I have some value",  <=== new field only for this doc
    "names": [
      "A2",
      "B2",
      "C2",
      "D2",
      "E2"
    ]
  }

Мой запрос

db.collection.find({
  "newField1": "I have some value"
})

результат

{
    "_id": 3,
    "description": "ANSWER",
    "names": [
      "A2",
      "B2",
      "C2",
      "D2",
      "E2"
    ],
    "newField1": "I have some value"
  }

Другие вопросы по теме