я могу инициализировать 2 документа mongoose с соответствующими ObjectIds? - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть схема содержимого. Если пользователь создает документ с контентом, он может его редактировать. Я хочу, чтобы пользователи могли выбирать, будут ли они видеть «оригинальный» Контент или «обновленную» версию Контента. Моя идея заключается в том, что при создании контента также создается документ OriginalContent, и оба содержат один и тот же ObjectId. OriginlContent никогда не будет редактироваться после инициализации, только Контент будет. Затем в зависимости от того, какое представление выбирает пользователь, они видят либо Content, либо OriginalContent. Могу ли я явно выбрать ObjectId для OriginalContent, чтобы он совпадал с Content? Любые другие идеи?

1 Ответ

0 голосов
/ 03 ноября 2019

НЕТ !! Не используйте один и тот же ObjectID на 2 разных объектах. Я бы порекомендовал вам создать такой объект

{
    _id:ObjectId() 

    OrignalContent:{
        Properties of Orignal Content
      }

    UpdatedContent:{ 
       Same Properties with OrignalContent but Different values
     }

}
* 1007. * Таким образом, вы всегда можете получить Item с _id и выбрать отображение Orignal Content или Updated Content. Это может быть ваш фиктивный предмет (добавьте столько свойств, сколько хотите)
{
   _id:ObjectId("5db9a2c5c58a7738508bc3ac")
    Orignal:{
          name: Jon
    }
   Updated:{
          name: Jon Doe
   }
} 

Таким образом, вам не нужно создавать 2 объекта

...