$push未在Mongodb中插入数组

$push未在Mongodb中插入数组,mongodb,push,Mongodb,Push,我在mongo有此文件: array ( '_id' => new MongoId("509356edf275130917000000"), 0 => array ( 'id1' => '1000', ), 1 => array ( 'book' => array ( 'id2' => '0', 'name' => 'Example', ), ), ) 我想在bo

我在mongo有此文件:

array (
  '_id' => new MongoId("509356edf275130917000000"),
  0 => 
  array (
    'id1' => '1000',
  ),
  1 => 
  array (
    'book' => 
    array (
      'id2' => '0',
      'name' => 'Example',
    ),
  ),
)
我想在book数组中添加一本书:

$coll->update(array(array("id1"=>'1000'),
     '$push'=>array('book'=>array(
        "id2"=>"1",
        "name" =>'War and peace'))));
但什么也没发生,有人知道怎么做吗?

这本书是单数组的。您无法更新

根据给定的条件更新记录

$collection->update($criteria, $newdata);
例如:

[
  '_id'     => new MongoId("509356edf275130917000000"),
  'ids'     => [1, 2, 3],
  'books'   => ['Book1', 'Book2']
]

如果您正在谈论mongo,那么以JSON格式显示对象dude…或者将您的客户机语言指定为可能的重复标记,请看一下我做的以下操作:$collection->savearray'ids'=>array'1'、'2'、'3'、'books'=>array'book1'、'book2';和更新:$data=array'books'=>book3'$collection->updatearray _id=>new MongoId5093af6af27513c318000001,“$push”=>$data;但什么也没发生。帮助我!!更改集合格式。。告诉我有关集合中字段的详细信息。我会帮你的
$data = ['books' => 'Book3'];

$collection->update(

    // Criteria 
    ["_id"   => new MongoId("509356edf275130917000000")],

    // New Object 
    ['$push' => $data]
);