Php 在MongoDB中更新数组中的多个值
我尝试使用Update在现有集合中添加一些值,但仅检索最后一个值: 例如: 当我尝试在MongoDB中向此文档添加一个具有不同值的数组时,如下所示:Php 在MongoDB中更新数组中的多个值,php,mongodb,Php,Mongodb,我尝试使用Update在现有集合中添加一些值,但仅检索最后一个值: 例如: 当我尝试在MongoDB中向此文档添加一个具有不同值的数组时,如下所示: $test= array("one"=>"Item1","two"=>"Item2","three"=>"Item3","four"=>"Item4", "five"=>"Item5","six"=>"Item6"); $collectionMeasurements->insert($tes
$test=
array("one"=>"Item1","two"=>"Item2","three"=>"Item3","four"=>"Item4",
"five"=>"Item5","six"=>"Item6");
$collectionMeasurements->insert($test);
for($i=0;$i<5;$i++){
$collectionMeasurements->update(
array("one" => "Item1"),
array('$set' => array('new' => $i)),
array("multiple" => true)
);
}
我想得到这样的东西:
Array
(
[_id] => MongoId Object
(
)
[five] => Item5
[four] => Item4
[new] => array(1,2,3,4)
[one] => Item1
[six] => Item6
[three] => Item3
[two] => Item2
)
有什么建议我可以做到这一点吗?
谢谢 这就是问题所在。您可以在脚本的每次迭代中覆盖一个键的值
new
你要做的是以下几点
$arr = array()
for($i=0;$i<5;$i++){
arr[$i] = $i; // or initialize array in a normal way
}
$collectionMeasurements->update(
array("one" => "Item1"),
array('$set' => array('new' => $arr)),
array("multiple" => true)
);
$arr=array()
对于($i=0;$i更新)(
数组(“一个”=>“项1”),
数组('$set'=>array('new'=>$arr)),
数组(“多个”=>true)
);
将mongo输出作为普通的json而不是php打印文件发布
$arr = array()
for($i=0;$i<5;$i++){
arr[$i] = $i; // or initialize array in a normal way
}
$collectionMeasurements->update(
array("one" => "Item1"),
array('$set' => array('new' => $arr)),
array("multiple" => true)
);