更新子文档MongoDB

时间:2017-09-04 16:27:22

标签: php mongodb

在PHP中使用MongoDB,在运行更新后,文档T1包含T1_MODULE和T2_MODULE的正确方法是什么?这样做会导致工具> T1> T2_MODULE并移除T1_MODULE。

$updater['tools']['T1']['T2_MODULE']=$update_array;
$this->db->user->updateOne(array("_id"=>$id),array('$set'=>$updater));

{ 
    "_id" : ObjectId("59a674bfa5cecc20bd660d43"),      
    "something" : [
        {
            "else" : NumberInt(1)
        }
    ], 
    "another_thing" : {        
        "further_disclosure" : ""
    }, 
    "tools" : {
        "T1" : {
            "T1_MODULE" : {
                "a" : "x", 
                "b" : "y"
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

答案 - 改为使用点符号:

$updater['tools.T1.T2_MODULE']=$update_array;