На переднем конце у меня есть 3 уровня иерархии.Проектирование моделей Mongoose
Верхний уровень представляет собой резюме тест со статистикой, такие как% годен/не годен, различные теги, запускать идентификаторами и т.д.
Второй уровень состоит из секций тестовых наборов, которые могут быть доступны через разбеге идентификатор верхнего уровня , В нем содержатся имена тестов, которые были переданы/не удалены.
Третий уровень является фактическим тест сам с отчетом, годен/негоден и т.д.
Я использую стек MEAN для этого и было интересно, о компромиссах использования 1,2 или 3 различные модели Mongoose для хранения данных в MongoDB. Я знаю, что одна из проблем с использованием встроенных документов в массиве будет заключаться в том, что я верну весь массив обратно в запрос/обновление вместо определенного элемента.
Вариант 1)
Используйте 3 модели, один для каждой сводки, секции и испытания. Затем используйте тот же run_id, что и значение, на котором я могу связать их вместе.
Вариант 2)
Используйте 2 модели, резюме и раздел. Затем раздел имеет массив со встроенными документами, каждый из которых связан с конкретным тестом.
Вариант 3)
есть только тест и раздел модели и создать резюме, если запрос нуждается.
Не уверен, что этой информации достаточно, дайте мне знать, и я могу попробовать и добавить больше. Благодаря
Итак, если я правильно понял, я могу установить определенное поле внутри выбранного элемента встроенного документа? .... То есть, скажем, у меня есть раздел, который содержит массив тестовых документов. Могу ли я выбрать только один тест из секции и увеличить его значение. – AsadSMalik
да, вы можете восстановить только его части, а также обновить отдельные элементы массива, llok в этом ответе http://stackoverflow.com/questions/15691224/mongoose-update-values-in-array-of-objects –
вы можете использовать $ оператор в ваших обновлениях, и это делает магию для вас! –