1
刪除子域我有這樣從MongoDB的文檔
{
"_id": ObjectId("4ffa96436ccc195553000055"),
"on": {
"4e8614f66ccc19aa490006e3": {
"hid": ObjectId("4e8614f66ccc19aa490006e3"),
"mts": NumberInt(1352979215)
},
"4e8614f06ccc19d9340003e8": {
"hid": ObjectId("4e8614f06ccc19d9340003e8"),
"mts": NumberInt(1352979216)
},
"4e8614346ccc19aa490006df": {
"hid": ObjectId("4e8614346ccc19aa490006df"),
"mts": NumberInt(1352979218)
},
"505af2e66ccc19541d0005a9": {
"hid": ObjectId("505af2e66ccc19541d0005a9"),
"mts": NumberInt(1352979220)
},
"505af2d76ccc19f11300109a": {
"hid": ObjectId("505af2d76ccc19f11300109a"),
"mts": NumberInt(1352979221)
}
}
}
有時我需要「的」領域刪除子域文件。 我這樣做:
$this->collection->update(
array(
'_id' => new MongoId('4ffa96436ccc195553000055'),
"on.4e8614f66ccc19aa490006e3" => array('$exists' => true),
),
array(
'$unset' => array(
"on.4e8614f66ccc19aa490006e3" => 1
)
)
);
但字段不刪除。我究竟做錯了什麼?
P.S我檢查發送查詢後的錯誤,我得到這個錯誤 修飾符和非修飾語不能混用代碼:10154
其中蒙戈的版本,您使用的一切還好嗎? – ggreiner
mongo的版本是1.6.5 – Kison
這通常是由於你的文檔中帶有'$'s的鍵,這似乎是它可能將'$ exists'視爲非修飾符而不是操作符,但是我是相當確定'$ exists'是在1.6.5中,你可以用'「on.4e8614f66ccc19aa490006e3」=>數組('$ ne'=> null)''來嘗試嗎? – Sammaye