我需要幫助參與者中的所有密鑰遞增值,而不必知道密鑰的名稱。
> db.conversations.findOne()
{
"_id" : ObjectId("4faf74b238ba278704000000"),
"participants" : {
"4f81eab338ba27c011000001" : NumberLong(2),
"4f78497938ba27bf11000002" : NumberLong(2)
}
}
我已經嘗試過的東西像
$mongodb->conversations->update(array('_id' => new \MongoId($objectId)), array('$inc' => array('participants' => 1)));
無濟於事......
好吧,我已根據您的示例更新了架構和所有方法,但是當通過運行上面的錯誤消息執行更新時,會顯示「can not append to array using string field name [count]」。 – Sputnik
你說得對。有一個這樣的Jira票:https://jira.mongodb.org/browse/SERVER-1243請投票!我已經更新了我的答案。 – Derick