Структурный вопрос о mongo db. У меня есть приложение node/express/mongoose, запрашивающее мою базу данных mongo для моего API отдыха, и оно работает в производстве.
Я хочу добавить новые поля для запроса, но проблема заключается в том, что во многих старых документах не будет этих новых полей. Как лучше всего добавить новое поле и запрос? Я использовал field :{ exists: true }, и это работает, но как мне запрашивать поля, если эти новые поля истинны или ложны?
Я хочу найти все документы, а не только, существуют ли эти конкретные поля или нет. Даже не уверен, что это возможно, мне может понадобиться добавить новые поля в каждый отдельный документ?

если поле, которое вы запрашиваете, не существует ни в одном документе, этот документ будет отброшен. Чтобы продемонстрировать это, вот два документа, которые у меня есть в коллекции, и в этих документах нет поля, по которому я запрашиваю. 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"
}
если это поле не существует в документе, оно будет считаться истинным или ложным?