ObjectId MongoDB в веб-приложении электронной коммерции

Я хочу создать базу данных для веб-приложения электронной коммерции, используя mongoDB почти похожий на него

Я не могу понять, как установить для него первичный ключ, поскольку для каждой записи он автоматически создает уникальный идентификатор, поэтому я могу использовать его в качестве первичного ключа в терминале mongoDB

db.department.findOne ({dep_name: "clothing"}) {"_id": ObjectId ("5277d82f658d9f107b7ae64e"), "dep_name": "clothing"}

Для одежды отдела dep_id - это ObjectId ("5277d82f658d9f107b7ae64e"), и при создании категории мужчин, женщин, детей dep_id останется прежним, и в то же время будет создан другой идентификатор объекта, который действует как cat_id (уникальный для мужчин, женщин, Дети). Я не понимаю, как получить dep_id, где dep_name - это одежда, и вставить dep_id для новой коллекции, которая будет иметь поля ObjectId (создается автоматически), dep_id, cat_name.

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


person shamshul2007    schedule 04.11.2013    source источник
comment
Я не слежу за твоим вопросом. Можете ли вы добавить что-нибудь еще, чтобы прояснить, что вы пытаетесь сделать?   -  person WiredPrairie    schedule 04.11.2013
comment
@WirePrairie --- Брюс отвечает на вопрос, но я хочу подтвердить, является ли это правильным способом распределения первичного ключа для веб-приложения электронной коммерции или, если есть какой-либо другой метод, который лучше, я выберу его в разработке.   -  person shamshul2007    schedule 07.11.2013
comment
Без Joins вам нужно будет специально заниматься построением нужных вам отношений.   -  person WiredPrairie    schedule 07.11.2013


Ответы (1)


Если я правильно понял ваш вопрос, вы спрашиваете, как, например, вставить документ в коллекцию «category», которая содержит поле «dep_id», содержащее _id отдела, такого как «одежда»?

Вот пример того, как это сделать с помощью оболочки mongo:

clothing = db.department.findOne({dep_name: "clothing"})
db.category.insert({dep_id: clothing._id, cat_name: "women"})

Отвечает ли это на ваш вопрос?

Брюс

person Bruce Lucas    schedule 04.11.2013
comment
Спасибо за ответ. Он отвечает на вопрос, но я хочу подтвердить, что это правильный метод выделения первичного ключа для веб-приложения электронной коммерции, или, если у вас есть какие-либо предложения, пожалуйста, поделитесь. Я очень ценю это. - person shamshul2007; 07.11.2013