0
我的結構是這樣的:PHP/MongoDB的:添加物品到內陣列
"_id" : { "$oid" : "502ac2858386b3f419000002"} ,
"eventName" : "eventA" ,
"eventStreamName" : "eventA-0001" ,
"encoders" : [
{
"encoderName" : "enc-201" ,
"streams" : [
{ "language" : "eng" , "format" : "flash" , "priority" : "primary"} ,
{ "language" : "spa" , "format" : "flash" , "priority" : "primary"} ,
{ "language" : "fra" , "format" : "flash" , "priority" : "primary"}
]
} ,
{
"encoderName" : "enc-202" ,
"streams" : [
{ "language" : "eng" , "format" : "flash" , "priority" : "primary"} ,
{ "language" : "spa" , "format" : "flash" , "priority" : "primary"} // i'd like to add stream here
]
}
]
我想的項目推送到流陣列,其中encoderName =「ENC-202」和eventName的=「eventA」
這是我已經試過
$this->liveEvents = $db->selectCollection("liveEvents");
$newStream = array("language" => "ger",
"format" => "flash",
"priority" => "primary");
$filter = array("eventName" => "eventA",
"encoders.encoderName" => "enc-202");
$update = array('$push'=>array('encoders.streams'=>$newStream));
$this->liveEvents->update($filter,$update);
,但它不工作。我不確定是否可以將2個項目添加到我的$過濾器,並且我的$更新也可能關閉。
mongodb的新功能。任何幫助都會很棒。謝謝!
工作完美。 :) – RayLoveless 2012-08-20 16:55:26