Я использую Laravel4 PHP Framework, мое веб-приложение должно обрабатывать API формата JSON.
Первая часть моей проблемы заключается в том, что каждый раз, когда я получаю подписку, веб-приложение получает подписку, deviceID и listID (где list ID — это список, который был подписан устройством, имеющим deviceID).
Для каждого полученного идентификатора устройства мы должны создать блоб с идентификатором устройства
{
deviceID:........,
subscription:[{listID:1},{listID:2}.......]
}
когда одно и то же устройство подписывается на несколько списков, мне нужно обновить подписку, аналогично, когда новое устройство подписывается, новый документ должен быть создан, как указано выше.
Вторая часть моей проблемы заключается в том, что наш веб-сайт будет создавать рекламные кампании для каждого из списков. Каждая кампания будет иметь поля, такие как заголовок, значок, изображение, подробное описание и т. Д.
когда кампания включена, эта кампания должна быть вставлена в массив предложений вышеуказанного документа как объект.
{
deviceID:........,
subscription:[{listID:1},{listID:2}.......],
offers [{campaign1}]
}
Кампания будет иметь много полей.
я пытался
db.subscribers.insert(
{
_id:98745334,
subscriptions: [{
list_id: "14Q3"}, {list_id: "8989"}
],
offers: [ { title: "50% off", qty: 25 }, { title: "20% off", qty: 50 } ],
})
Это сработало.
Но,
Я не мог вставлять, извлекать или обновлять любые данные, используя Laravel4.
Я использую MongoDB и Laravel4
Извините за плохой английский
пожалуйста, помогите мне
Как я преуспел в вставке следующим образом
DB::connection('mongodb')->collection('subscribers')->insert(array(
'_id' => $subscriber->device_id,
'subscriptions' => array(array('list_id' => $subscriber->list1_id)),
));
Для вставки в массив подписок я использовал следующий код
Subscription::where('_id',$subscriber->device_id)->push('subscriptions', array('list_id' => $subscriber->list1_id));
Других решений пока нет …