Магазин на NodeJS и Mongo DB.
Кто не знаком с принципом работы монго, объясню вкратце - запись в таблице это все равно что объект JS. Ну или это можно назвать JSON форматом.
Так вот в таблице Users у меня хранится информация о пользователе, о его заказе, о его корзине. В данный момент что то типа такого
http://pastebin.com/jhxCTyh0 для тех кому лень переходить по ссылке приведу данные внизу.
{
_id:1,
order:{
id:1,
cart:[
{
item:3,
amount:2,
price:2990
},
{
item:2,
amount:1,
price:7990
}
]
date:"22.02.2013",
name:"Дмитрий",
phone:"89090000000"
},
browser:"Chrome",
date:"22.02.2013"
}
У меня возникла проблема, как хранить все заказы пользователя? К примеру, оформил он первый заказ, что делать дальше?
Я обдумывал несколько вариантов.
1) Сделать поле orders нумерованным массивом
[ { order_id : 1 , cart : [...] , completed: 1 }, { order_id : 2 , cart : [...] } ]
и писать туда к уже оформленным заказам completed=1. Но с этим подходом есть несколько проблем. Во первых что бы получить нужный мне заказ, мне надо запросить все.
Во вторых что бы определить какой их полученных заказов мне нужен, надо использовать цикл.
2) Сделать два поля: Order и CompletedOrders.
Структура та же самая, что и в первом примере, только при оформлении данные переносятся из Order в CompletedOrders, тогда нет проблем с получением лишних данных при запросе текущего заказа. Но при запросе всех оформленных такая проблема остается. Плюс будут некоторые разногласия в коде, возможно даже придется писать два класса вместо одного, что я делать не хочу, и вообще это не правильно.
Буду очень рад, если кто нибудь поможет найти решение.
С меня 100 рублей на телефон)