MongoDB $ addToSet无法正常工作

时间:2013-02-04 03:56:13

标签: mongodb insert mongodb-php arrays

我不知道为什么但是我很难让$ addToSet为我的子数组项工作

这应该是什么样子

{
  "items": [
    {
      "id": "510bca8138fc5d6e38000000",
      "quantity": "1"
    },
    {
      "id": "51011a8138fc5d6348000000",
      "quantity": "1"
    }
  ],
  "session": "1359948849.291898629576",
  "status": "cart"
}

然而它似乎只允许第一个

{
  "items": [
    {
      "id": "510bca8138fc5d6e38000000",
      "quantity": "1"
    }
  ],
  "session": "1359948849.291898629576",
  "status": "cart"
}

并且它不会插入另一个子数组

我的代码。

$document = $collection->findOne(array('session' => $_SESSION["redi-Shop"]));

        //print_r($document);
        if (null !== $document) {
            $collection->update(
                array('session' => $_SESSION["redi-Shop"]),
                array(
                    '$addToSet' => array(
                        'items' => $_POST['item']
                    ),

            ));
            print_r($_POST['item']);
        }
        else
        {
            $collection->insert(
                array('session' => $_SESSION["redi-Shop"],
                'status' => "cart",
                    'items' => $_POST['item'])
                );
        }

1 个答案:

答案 0 :(得分:1)

我将$ addToSet更改为$ Push并且工作正常