Пн goose Обновление свойства не в схеме - PullRequest
0 голосов
/ 08 июля 2020

Я пытаюсь настроить приложение CRUD, которое позволяет людям отмечать определенные услуги как завершенные или неполные. Со временем службы, скорее всего, изменятся, некоторые будут добавлены, некоторые удалены, поэтому я пытаюсь выяснить, могу ли я удалить службы из схемы, но сохраню возможность для старых документов обновлять эти службы.

Здесь является соответствующей частью моей схемы:

  services: {
    tom: {
      name: {
        type: String,
        default: "Top of Mind",
        required: true
      },
      status: {
        type: Boolean,
        default: false,
        required: true
      }
    },
    two: {
      name: {
        type: String,
        default: "Service Two",
        required: true
      },
      status: {
        type: Boolean,
        default: false,
        required: true
      }
    },
    three: {
      name: {
        type: String,
        default: "Service Three",
        required: true
      },
      status: {
        type: Boolean,
        default: false,
        required: true
      }
    }
  }

Я установил для свойства strict значение false в надежде обновить любую дополнительную службу, даже если ее не было в схеме. Например, в коллекции Mon go Atlas я вручную добавил службу к одному документу следующим образом:

test: {
  name: "Test Service", 
  status: false
}

Это отлично работает при чтении данных и присутствует при выполнении обновления запроса до точка, где я пытаюсь изменить test.status. Возвращается весь документ, включая тестовый объект в службах, но doc.services.test не определено, что означает, что я не могу редактировать статус «test».

edit: Вот объект службы, который возвращается, когда поиск документа:

{ 
  tom: { name: 'Top of Mind', status: true },   
  two: { name: 'Service Two', status: true },   
  three: { name: 'Service Three', status: true },   
  test: { name: 'Service Test', status: false } 
} 

do c .services.test возвращает undefined

Есть ли здесь обходной путь или "тестовая" служба должна присутствовать в схеме в чтобы его обновить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...