Как правильно спроектировать структуру модели в MongoDB? - PullRequest
0 голосов
/ 29 августа 2018

Я начинаю с разработки 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.

Я все еще не уверен, какой путь лучше (или лучше) для моего варианта использования. Что я хочу делать с данными - фильтровать все статьи в установленные сроки, фильтровать статьи по категориям, по авторам (пользователям) и т. Д.

Какая структура лучше для этого варианта использования?

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