2
我使用Meteor在那裏我有哪裏的東西插入下面的代碼MongoDB的文檔:在mongodb中插入嵌套數組?
Poll_Coll.insert({question:quest,option1:[{pd:op1,ids:[]}],
option2:[{pd:op2,ids:[]}],
option3:[{pd:op3,ids:[]}],
option4:[{pd:op4,ids:[]}]});
我想option1.ids
數組,我試圖做這樣的更新多個ID:
Polls_Coll.update({_id:"xxxx","option1.pd":"xxx"},{$push:{"option1.$.ids":6}});
Polls_Coll.update({_id:"xxxxx","option1.pd":"xxx"},{$push:{"option1.$.ids":{id:"ya"}}});
option1.pd工作正常。我嘗試了上述兩個命令,並得到錯誤
Error: MinimongoError: can't append to array using string field name [$] [409]
如何插入該ID字段?
這是如何我插入集「Polls_Coll.insert({問題:任務, \t \t \t \t選項1:[{pd:op1,ids:[]}], \t \t \t \t \t選項2:[{PD:OP2,IDS:[]}], \t \t \t \t \t選項3:[{PD:OP3,IDS:[]}], \t \t \t \t \t選項4:[{PD:OP4 ,ids:[]}] \t \t \t \t \t});''這是我試圖更新代碼Polls_Coll.update({_ id:this._id},{$ push:{'option1。$。ids':'hooya'}});我在瀏覽器控制檯嘗試了這一點,這也不工作Polls_Coll.update({_ id:「soeg9ezkMwKFmdPkT」,「option1.pd」:「android」},{$ push:{「option1。$。ids」:6}})將此集合聲明在js文件的頂部,並從服務器端 – Sasikanth
發佈並訂閱到客戶端。現在我試圖在控制檯Polls_Coll.update({_ id:「soeg9ezkMwKFmdPkT」,「option1.pd」:「android」},{$ push:{「option1。$。ids」:6}})現在它顯示錯誤錯誤:不允許。不受信任的代碼只能通過ID更新文檔。 [403]雖然我給了身份證。感謝您的幫助 – Sasikanth
是的,這將是問題。更新了關於答案和你的問題的說明,以澄清這是一個與minimongo相關的Meteor問題。您將無法對此數據使用透明的「更新」方法,並需要彙總更傳統的RPC調用。 –