Как пометить документы как помеченные / удаленные в mongoDB - PullRequest
0 голосов
/ 10 сентября 2018

Поэтому у меня есть несколько вариантов временно скрыть (отключить) или навсегда скрыть (удалить) документы из моих запросов.

Я не планирую «физически» удалять данные, кроме как при ведении.

Что я мог сделать:

  • Добавить два свойства, таких как: "disabled: true" и "Удалено: false"
  • Добавить поле состояния, например: "status: 'удалено | отключено | другое '"
  • Переверните все (показать только активные документы), например:" status:' active '"или" active: true ".

При запросе,Я мог либо запрашивать эти свойства в каждом запросе, либо запрашивать представление mongoDB, которое возвращает только «активные» документы.

Цель базы данных - помочь пользователям найти проекты, к которым они могут присоединиться.Я тоже использую mongoose, но многие запросы могут быть собственными mongoDB-запросами.

Так что же может быть «самым умным решением» с точки зрения производительности, масштабируемости и потенциальных усилий?

1 Ответ

0 голосов
/ 10 сентября 2018

Я бы пошел в поле состояния.Он более общий, и если вам нужно добавить дополнительное значение, вам не нужно создавать новое поле, и в случае, если вы хотите иметь более одного статуса (например, ACTIVE и ENABLED), вы можете даже установить поле статуса какмассив.

Я не понимаю "Запрос представления mongoDB", но для меня решение довольно простое.Просто добавьте к любому запросу db.collection.find({..., "status" : "deleted"})

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