от mysql до mongodb - проектирование коллекций - PullRequest
1 голос
/ 10 февраля 2011

Мне любопытно узнать мнение людей о том, что они разработают эту схему сбора.

Я хочу попробовать использовать mongodb для приложения (как я использую mysql в течение последних 8 лет)

Сначала я приведу схему реляционной таблицы.

Таблица

users
user_friends
user_notifications

articles
article_categories
article_participants

comments

Если бы я внедрил эту структуру таблиц в mongodb, это был бы правильный способ определить мои коллекции:

users => array
{
    _id
    email,
    password,
    name,
    ...
    user_friend => array{
        _user_id,
        date_created
    }
    user_notifications => array{
        _notification_id
    }
    my_articles =>array{
        _article_id
    }
}

article
{
    _id,
    content_,
    date_created,
    ...,
    article_category => array{
        _category_id
    }
    article_participants = array{
        _user_id
    } 
    comments=>array{
        _user_id
        name,
        comment,
        date
    }
}

categories
{
    _id,
    _user_id
    name
    comments=>array{
        _user_id
        name,
        comment,
        date
    }
}

Пожалуйста, прокомментируйте или объясните, как вы бы организовали свои коллекции. Любая помощь очень ценится.

Кроме того, я должен даже использовать mongodb для этого типа приложений? (приложение для обмена социальными блогами)

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

На мой взгляд, лучший способ - использовать объект-значение, например, для встраивания объекта объекта-сущности.

проверьте эту ссылку для более подробной информации

Объект значения: объект, который содержит атрибуты, но не имеет концептуальной идентичности. Они должны рассматриваться как неизменные.

Пример: когда люди обменивают долларовые купюры, они обычно не различают каждый уникальный счет; они обеспокоены только номинальной стоимостью долларовой банкноты. В этом контексте долларовые банкноты являются объектами стоимости. Тем не менее, Федеральный резерв может быть обеспокоен каждым уникальным счетом; в этом контексте каждый счет был бы юридическим лицом.

0 голосов
/ 11 февраля 2011

Mongodb будет отличным инструментом для такого применения.

В MongoDB встраивание намного эффективнее, чем ссылки на дополнительные таблицы.

Для получения дополнительной информации, вы можете посмотреть по этой ссылке http://www.mongodb.org/display/DOCS/Schema+Design

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