mongo に接続し、この構造でドキュメントを更新するために、 codeigniter-mongodb-library/tree/v2で Codeigniterを使用しようとしています。
{
"_id" : ObjectId("50fd8bd460e958aa38000002"),
"created_at" : 1358793684,
"updated_at" : 1358793684,
"is_active" : 0,
"memberships" : [
{
}
],
"first_models" : [
[ ]
],
"second_models" : [
[ ]
],
"pages" : [
[ ]
]
}
私が望むのは、指定された _id によってドキュメントを更新することだけです。特に、「first_models」配列内に要素を追加する必要があります。私の Codeigniter モデルから、私はこれを呼び出しています:
$result = $this->mongo_db
->push(array('_id' => '50fd8bd460e958aa38000002'),array('first_models' => array('Some text here')))
->update($this->collections['sites']);
特定のドキュメントを更新しようとすると、次のエラーが発生します。
Mod on _id not allowed
指定された_idと競合しているようです...何かが欠けていて、何がわかりません:( Mongodb 2.2.2をCodeigniter 2.1.3、PHP5.4、およびApache2で使用しています。