推入嵌套mongo数组无法按预期工作

时间:2019-02-25 11:48:21

标签: php mongodb

我正在尝试从一个集合(购物篮)推送到另一个集合(订单)。我需要插入标题值(id,日期,用户),然后将与同一订单相关的所有产品插入到插入的同一对象内的嵌套products[]中。

我要一次插入标题,然后通过基于购物篮$cursor(购物篮收集光标)的循环插入,我试图通过$scursor(订单收集)将空产品的空数组放入内部。它正在按预期方式删除购物篮集合,没有任何错误,但是嵌套products[]并未生效。

下面是我的代码。预先感谢您的支持。

<?php
  //Connect to MongoDB and select database
  $mongoClient = new MongoClient();
  $db = $mongoClient->companydb;

  if (isset($_GET['userEmail'])) 
  { 
    $userEmail = ($_GET['userEmail']);  
    $collection = $db->basket;
    $scollection = $db->orders;

    $checkQuery =  array('userEmail' => $userEmail);

    $scursor = $scollection->insert(array('username' => $userEmail , 'timestamp' => date("F j, Y, g:i a"), 'products' => array ()));

    $cursor = $collection->find($checkQuery);
    var_dump ($cursor);

    foreach ($cursor as $document)
    {
      $scursor = $scollection->update(array('userEmail' => $userEmail),
    array('$push' => array('products' => array('productName'=> $document["productDesc"], 'qty' => $document["productQty"], 'totalprice' => 23))));
     }

    $cursor = $collection->drop();
};

0 个答案:

没有答案