Я начинаю с разработки MongoDB, исходя из базы данных SQL. Я пытаюсь создать простое приложение, но я не уверен, как правильно спроектировать структуру модели. Вот почему я пытаюсь достичь - У меня есть статья, которая принадлежит пользователю и категории (позже, возможно, многим категориям) .
Структура, которую я начал автоматически строить (из SQL), выглядит следующим образом:
{
"_id" : ObjectId("5b85e3e2b16d72c70e3e96ef"),
"price" : 40,
"name" : "2st Article",
"location" : "Paris, France",
"categoryId" : ObjectId("5b81f12725f15a490f46ed81"),
"userId" : ObjectId("5b81f127idsg283efb1"),
"description" : "abc...",
"createdAt" : ISODate("2018-08-29T00:08:02.022Z"),
"updatedAt" : ISODate("2018-08-29T00:08:02.022Z"),
"__v" : 0
}
Я наткнулся на несколько учебных пособий и увидел также эту возможность проектирования структуры модели:
{
"_id" : ObjectId("5b85e3e2b16d72c70e3e96ef"),
"price" : 40,
"name" : "2st Article",
"location" : "Paris, France",
"categoryIds" : [
{ ObjectId("5b81f12725f15a490f46ed81") }
],
"userId" : ObjectId("5b81f127idsg283efb1"),
"description" : "abc...",
"createdAt" : ISODate("2018-08-29T00:08:02.022Z"),
"updatedAt" : ISODate("2018-08-29T00:08:02.022Z"),
"__v" : 0
}
Таким же образом categoryIds
(в будущем статья может принадлежать более чем к одной категории), установленный здесь, можно сделать и для userId
.
Я все еще не уверен, какой путь лучше (или лучше) для моего варианта использования. Что я хочу делать с данными - фильтровать все статьи в установленные сроки, фильтровать статьи по категориям, по авторам (пользователям) и т. Д.
Какая структура лучше для этого варианта использования?