我使用Doctrine 2 ODM \ MongoDB的(這和依賴GIT所有最新的)+ PHP擴展蒙戈(V1.1.4)+蒙戈(v1.8.3最新的x64)的MongoDB沒有更新
在一些情況下,當我更改實體時,它不會更新
在一個嵌入式實體中,我有一個反向引用它的父級,以解決http://groups.google.com/group/doctrine-dev/browse_thread/thread/016422b2cc9dcec9?pli=1(如何獲取嵌入文檔中的父文檔?),而不使用內部功能如UnitOfWork - 這可能或可能不相關,我不知道...我希望沒有(我的問題是否可以在IRC上未回答迄今)
然而,一個字符的嵌入式文檔中的單個更改會觸發這些查詢(應該只與它相關,在它之前已經刷新了,並且標誌內部的條件在更改之前再次設置了標記 )
記錄器轉儲:
array(6) {
"update" => TRUE
"query" => array(1) {
"_id" => MongoId(1) {
"$id" => "4e3143be662c32400d000006" (24)
}
}
"newObj" => array(1) {
"$set" => array(2) {
"components.destructible.hp" => 99.28706276
"options.character" => array(3) {
"$ref" => "characters" (10)
"$id" => MongoId(1) { ... }
"$db" => "nuclearRain" (11)
}
}
}
"options" => array(0)
"db" => "someDB" (11)
"collection" => "characters" (10)
}
array(6) {
"update" => TRUE
"query" => array(1) {
"_id" => MongoId(1) {
"$id" => "4e553306662c32680800054b" (24)
}
}
"newObj" => array(1) {
"$set" => array(1) {
"createdBy" => array(3) {
"$ref" => "characters" (10)
"$id" => MongoId(1) { ... }
"$db" => "nuclearRain" (11)
}
}
}
"options" => array(0)
"db" => "someDB" (11)
"collection" => "worlds" (6)
}
array(6) {
"update" => TRUE
"query" => array(1) {
"_id" => MongoId(1) {
"$id" => "4e553306662c32680800054c" (24)
}
}
"newObj" => array(1) {
"$set" => array(1) {
"world" => array(3) {
"$ref" => "worlds" (6)
"$id" => MongoId(1) { ... }
"$db" => "nuclearRain" (11)
}
}
}
"options" => array(0)
"db" => "someDB" (11)
"collection" => "games" (5)
}
初始化代碼:http://pastebin.com/1dKagqry
「components.destructible.hp」=> 99.28706276是核心部分 - >但這種變化是從來沒有體現在DB
- 沒有PHP的錯誤/異常觸發
- 蒙戈的日誌顯示沒有錯誤
- 一般蒙戈和學說\ ODM \蒙戈運行良好,實體獲得持久化,更新,刪除...
我在哪裏可以進一步搜索或我能做些什麼來解決這個問題 謝謝
如果你解釋你發佈的代碼會更好。 – 2012-10-29 00:22:31