如何通过PHP更新MongoDB中数组的元素

时间:2012-03-30 14:39:47

标签: php mongodb mongodb-php

我有一个名为'问题'的集合。它的结构如下:

{
     _id:
     user_id:
     answers:
     [
          {
               answer_id:
               answer_content:
          }  
           ,
          {
            ...
          }
          ,
           ...
      ]
}

现在我知道一个答案的文件的_id和answer_id,现在我想设置答案 是一个best_answer(为元素添加一个字段),例如:

{
    answer_id:
    answer_content:
    is_best:true
}

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您需要更新问题集中的问题文档,一种方法是将用户信息推送到某种类型的answersBy数组字段。或者,您可以创建单独的答案集合并推送包含问题ID,uid,名称和答案的答案文档。

答案 1 :(得分:0)

$find_array = array('answers._id'=>$answer_id); 
$this>collection>update($find_array,array('$set'=>array('answers.$.is_best' => true)));