私はmongodbコレクションに次のコンテンツを持っています、
{ "_id" : ObjectId("5052f343381ef8bc10000011"), "first_name" : "Tadataka", "midle_name" :
"", "last_name" : "Yamada", "title" : "Independent Director", "biogra
phy" : "Dr. Tadataka Yamada, M.D., is Independent Director of Agilent Technologi
es Inc., ", "rank" : " ", "department" : " ", "current" : "true", "company_id" : ObjectId("50072714b4a6deba100051d3"
) } }
上記の内容をいくつかのフィールドで更新し、存在しない場合は新しいフィールドを挿入しようとすると、既存のフィールドが上書きされます。これが私のコードです、
$mycollection->update(array("_id" => $id), array('$set' => array("first_name" => $first_name, "updated_at" => $uat));
そして私が得ている結果は
{ "_id" : ObjectId("5052f343381ef8bc10000011"), "first_name" : "Tadataka", "updated_at" : 134567894 }
値だけを更新するのではなく、コンテンツ全体が上書きされ、欠落している場所になります。