Я ищу эквивалент виртуальных объектов для существующих свойств. Я хотел бы изменить значение для существующего свойства схемы, когда я его вызываю (например, теги полосы или что-то еще). В настоящее время я использую виртуальное имя с другим именем для достижения этого. Очевидно, Mongoose ломается, когда виртуальное имеет то же имя, что и существующие свойства. Кажется, что нет фильтров pre/post fetch - предложений?Фильтр свойств Mongoose
1
A
ответ
2
Предполагая, что вы хотите сказать, что у вас есть другой «внешний» формат, чем внутренне хранятся ...
Там нет никакого способа, чтобы полностью перекрыть получить/установить в 100% последовательным образом, не углубляясь глубоко в внутренности Мангуста. Я недавно изучил это, и это глубокая темная дыра. :(
У вас есть несколько разумных вариантов:.
- Виртуальный подход собственности Вы могли бы иметь свойство на самом деле под названием
_color
, а затем выставить его какcolor
, например, вместо того, чтобы перегружать то же значение. Тогда было бы ясно (возможно, по соглашению), что значения префиксов подчеркивания «только для внутреннего использования». - Добавить функцию для получения/установки значения (путем добавления функции к схеме). Мне нравится этот, поскольку вы могли бы добавить функцию под названием
toColorString
или что-то в этом роде, чтобы было ясно, когда/как ее использовать.
Если вы используете виртуальные/скрытые свойства, это делает запрос к документу несколько более запутанным, поскольку свойство не подвергается ни одному имени, ни точно так же, как данные будут запрашиваться. Поэтому я бы немного наклонился на использование пользовательских функций, если это возможно, для извлечения пользовательских форматированных версий данного свойства/поля.
Смежные вопросы
- 1. NodeJS/Mongoose Фильтр JSON
- 2. Mongoose фильтр параметр массива
- 3. Глубокий фильтр свойств объекта
- 4. Sparql фильтр свойств
- 5. Фильтр свойств бранча
- 6. Фильтр GeoCode в mongoose elasticsearch
- 7. Как фильтр с mongoose-paginate
- 8. Вложение свойств в фильтр действий
- 9. объект Фильтр массив имен свойств
- 10. Создать фильтр произвольных свойств динамически
- 11. Глобальный фильтр свойств в Jackson
- 12. MongoDB/Mongoose не сохранение вложенных свойств
- 13. Добавление свойств в цикл forEach в Mongoose
- 14. Ошибка копирования свойств req.body в Mongoose Model
- 15. Query Mongoose Hash Map с массивом свойств?
- 16. Запрос Mongoose Документы на основе свойств объекта
- 17. Как фильтр массив элементов объектов mongoose?
- 18. Ember.js вычисленный фильтр свойств hasMany array
- 19. Фильтр Loopback на основе родственных свойств модели
- 20. Java Map, фильтр со значениями свойств
- 21. Угловой фильтр для конкретных свойств в массиве
- 22. Как добавить страницу свойств в фильтр DirectShow
- 23. фильтр пустые значения при перечислении свойств объекта
- 24. Сортировка/фильтр узлов на основе свойств реляционных
- 25. фильтр несколько свойств объекта вместе в AngularJS
- 26. Согласование двух свойств документа в вариантах запроса mongoose
- 27. Mongoose с JSON данные, имеющими значение как имена свойств
- 28. Возвратите поддокумент, основанный на одном из его свойств, используя mongoose
- 29. Построение объекта Mongo/Mongoose с условиями (для неизвестного количества свойств)
- 30. Mongoose upsert не создает по умолчанию схемы свойств
Ya - это то, что я нашел. Я в порядке с виртуальными - привык к их причудам. Просто надеялся на автоматическую предварительную обработку на выборке, как и на сохранение. – cyberwombat
Дело в том, что вы действительно не хотите менять данные при загрузке. Вы только хотите, чтобы его внешний вид изменился. Это другое. Вы действительно хотите сохранить «сырые» данные. – WiredPrairie
Да, я согласен - моя текущая ситуация в том, что мне нужно изменить некоторые данные - все дело в том, что мы использовали ее во многих местах. Поэтому я могу либо изменить его повсюду (например, добавить фильтрацию), либо разобраться с ним один раз, как хотелось бы. – cyberwombat