0
我的問題是,如果可以使用'$ slice'與mongodb中的update()和$ push。
我已經嘗試過這樣的:(有和沒有鑄造(對象)
$db->collection->update(
array('_id' => new MongoId($id)),
(object)array('$push' =>
array('thumbs' => array(
'$each' => $items,
'$slice' => -5
))));
但是,出現這種情況是蒙戈將在更新()來收集整個第二陣列的唯一的事情,所以我得到
。thumbs: [ { "$each" : ...
提前感謝!
爲什麼你將更新參數轉換爲對象? – Sammaye 2013-04-26 07:10:19
因爲php無法區分集合中的對象和數組。 [] =對象和{} =數組。但即使我不施放它,它也不起作用。 – Zanders 2013-04-30 14:44:24
這對PHP驅動程序無關緊要,字典和數組是類似的(正如你所陳述的那樣),PHP驅動程序可以編碼爲正確的符號。你在做什麼MongoDB版本? '$ slice'運算符是非常新的(v2.4.3),所以看起來這是發生了什麼,MongoDB正在將它作爲普通文檔讀取,因爲它不理解已經放入的運算符 – Sammaye 2013-04-30 14:58:21