Могу ли я сохранить структуру реляционной базы данных в MongoDB - PullRequest
1 голос
/ 16 июля 2011

Я программист на Java и хочу использовать MongoDB в своем проекте. Я знаю, что MongoDB - это база данных документов, но есть ли способ сохранить больше полей для записи в этой базе данных?

Например, у меня есть таблица с 4 атрибутами (т. Е. Столбцы), имя, адрес, возраст и доб, поэтому я могу использовать или преобразовать эту структуру, чтобы она соответствовала MongoDB?

Ответы [ 3 ]

7 голосов
/ 16 июля 2011

Конечно.

MongoDB - это система управления базами данных на основе документов. Если вы знакомы с форматом JSON, Mongo хранит данные очень похожим образом. Например, пример документа в базе данных Mongo может выглядеть следующим образом:

Person {
    Name:
    {
       First : "John"
       Last : "Smith"
    }
    Address :
    {
       City : "Chicago"
       State : "Illinois"
       Street : "30 S. Michigan Avenue"
    }
} 

Как видите, Mongo поддерживает вложенные поля, поэтому конкретное поле может содержать один или несколько атрибутов. Это не ключ / значение как таковое, поскольку возможно вложить документ до бесконечности. Однако помните, что не все документы в коллекции должны иметь одинаковую структуру. Это самая большая сила Монго, но она может развернуться и укусить вас, если вы не будете осторожны.

3 голосов
/ 16 июля 2011

Просто чтобы добавить к правильным (+1) ответам из предыдущих двух постеров ...

Существует разница между "структурой реляционной базы данных" и хранением дополнительных атрибутов. Реляционная подразумевает, что вы моделируете отношения между вещами в вашей базе данных, такими как клиенты и заказы, которые есть у каждого клиента.

MongoDB позволяет хранить документы со многими атрибутами. Он не обеспечивает достаточной поддержки для управления отношениями между документами.

1 голос
/ 16 июля 2011

На самом деле MongoDB - это не традиционная база данных ключ / значение, а база данных документов. Документ - это объект JSON, который может содержать любое количество полей или даже вложенных документов. Так что да, вы можете легко хранить несколько полей для каждой записи.

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