0
比方說,我們有這樣的文件:一個MongoDB的文檔中的值到一個數組中添加
Array
(
[created_at] => 1373767280
[email] => [email protected]
[emailQueries] => Array
(
[21] => 1
)
[last_visit] => 1375033640
)
要更新emailQueries
場,我這樣做:
$updateEmailQueries['emailQueries']['22'] = 1;
$collection->update(array('email' => $user['email']), array('$set' => $updateEmailQueries));
它更新了它,但它總是替換數組中的現有項目(即[21] => 1在這裏將變成[22] => 1)。 我的目標是值添加到陣列中,並使它看起來例如像:
[emailQueries] => Array
(
[21] => 1
[22] => 1
)
我嘗試添加第二個,但似乎並沒有做到這一點。
更新:
我想:
$updateEmailQueries['emailQueries']['21'] = 1;
$collection->update(array('email' => $user['email']),
array('$push' => $updateEmailQueries));
我也得到
Fatal error: Uncaught exception 'MongoCursorException' with message 'localhost:27017: Cannot apply $push/$pushAll modifier to non-array';
改變'$ updateEmailQueries'到'$ updateEmailQueries [ 'emailQueries']',或在我的回答就行了。希望能幫助到你。 – drvdijk
感謝您的幫助。使用這也會返回一個致命錯誤,與我在發佈後的更新相同。 – jSmith
嘗試編輯。 – jSmith