2016-10-24 3 views
0

Я новичок в nosql/mongodb. У меня есть учетная запись пользователя с многочисленными дочерними записями, для которых требуется легкость поиска.Учетная запись пользователя Mongodb и дочерние записи

Пример

Dealer account 
Vehicle Listings 

Мне нужно, чтобы иметь возможность легко и эффективно искать транспортные средства, но также должны быть в состоянии связать списки с учетной записью пользователя. В моей реляционной базе данных я просто создаю отдельные таблицы и объединяю их вместе. Каков рекомендуемый способ сделать это в nosql/mongodb.

ответ

1

С Mongo вы обычно не должны использовать его для хранения данных, которые всегда должны быть напрямую связаны с другим набором данных. В вашем примере, однако, вы могли бы иметь массив в документе Дилера, содержащий все идентификаторы объекта для соответствующего списка. Это облегчило бы их поиск.

EX:

DEALER: 
{ 
    name: dealer's name 
    location: dealer's location 
    listings:{ 
    { 
     carType: car type 
     something else: something else.... 
    }, 
    { 
     carType: car type 
     something else: something else.... 
    } 
    } 
} 

OR 

DEALER: 
{ 
    name: dealer's name 
    location: dealer's location 
    listings:{ 
    { 
     objectID: objectID 
    }, 
    { 
     objectID: objectID 
    } 
    } 
} 
+0

Так в основном два документа один, содержащий транспортные средства и один, содержащий дилеров и в дилерском документе массив всех документов транспортного средства? Это обычная практика с nosql? –

+0

Вид. Каждый документ похож на строку в SQL. Это должна быть отдельная информация. Если вы уверены, что документ не будет слишком большим, вы можете иметь списки, хранящиеся непосредственно внутри этого массива. Документ в MongoDB может хранить вложенные JSON, вложенные документы BSON и т. Д. – KM529

+0

Используя ваш пример, я предполагаю, что это единственный документ со встроенными списками, как бы я пошел на поиск, чтобы сказать, что все 2016 Fords у всех пользователей ? –

Смежные вопросы