Привет, мне нужна помощь с структурами данных и ссылками на mongodb и PHP.
у меня есть 4 коллекции
CARS
PLANES
LOGS
BUYS
в АВТОМОБИЛЯХ / САМОЛЕТАХ у меня есть такие документы:
{_id : ObjectId("57ce7c49c2c13f6818000029")
,userid: 12345,
time: timestemp,
buys: 5,
type: car,
score : 9
}
каждый раз, когда я добавляю новый автомобиль / самолет в коллекцию, мне нужно добавить в коллекцию LOGS элемент с оригинальным элементом.
поэтому, когда я делаю поиск по логам по идентификатору, я получу идентификационный номер для документа
$logs->findOne(array('_id' => $objid ));
и затем, когда пользователь покупает товар, я обновляю оригинальный товар в АВТОМОБИЛЯХ, я делаю то же самое на ЛОГАХ за $ вкл. покупку 1
$logs->findAndModify(array("_id" => $objid ),
array('$inc' => array('buy' => 1 ))
$cars->findAndModify(array("_id" => $objid ),
array('$inc' => array('buy' => 1 ))
после этого я добавляю новый документ в коллекцию BUYS и новый документ в коллекцию LOGS для ссылки id на уведомление.
но теперь моему боссу нужно, чтобы я добавил функцию общего доступа, чтобы пользователь мог «поделиться» автомобилем или самолетом, и он будет отображаться в уведомлении о дружбе пользователя, поэтому я просто добавляю новые документы в журналы и изменяю идентификатор и дату пользователя так, я получу это при поиске.
Проблема в том, что мне нужно отобразить счетчик «покупок» из оригинальных документов в журналах поиска
я могу просто добавлять новый документ в журналы каждый раз, когда пользователь «делится», и изменять все журналы «делиться», когда пользователь покупает новый элемент, но я не думаю, что это разумная идея обновить документ 10000, чтобы я мог получить счет «в реальном времени» покупок из оргиального документа
Я прочитал о Mongodb Ref, но я не понимаю, как его работа
Кто-нибудь может мне помочь?
Спасибо
Задача ещё не решена.
Других решений пока нет …