0
所以我有一個多選題的列表,我想存儲,每次用戶回答同一個問題時,他對這個問題的回答。所以我想爲每個用戶創建一個文檔,併爲每個問題的回答歷史記錄。我提出了一系列問題來解決questionId和一系列的答案('ans')和他的答案,於是我寫了一個基本代碼,我爲問題1添加了一個基本代碼,他的第一個答案是'a',現在我想更新它與答案「b」記錄MongoDb PHP將插入值插入數組數組
$m = new MongoClient();
$db = $m->test;
$answers = $db->answers;
$answers->insert([ 'userId' => 1, 'questions' => [[ 'questionId' => '1', 'ans' => ['a'] ]]]);
$answers->update(array('userId' => 1, 'questions.questionId' => '1'),
array('$push' => array('questions' => array('ans' => 'b'))));
的問題是,而不是將它添加到現有陣列,創建一個新的對象:
_id:5958c3e1e87cbf643400734d
userId:1
questions:Array
0:Object
questionId:"1"
ans:Array
0:"a"
1:questionId
ans:"b"
我知道這是一個非常基本的問題,但我已經在其他問題中進行了搜索,但是我無法得到語法工作,我認爲問題在於找到了正確的文檔,但我無法弄清楚如何將其添加到現有的ans而不是創建一個新的ans領域。感謝您的幫助。