2014-02-27 60 views
0

我試圖發送一個JSON塊到這個nodejs應用程序,該應用程序將該json插入到mongodb中。 nodejs應用程序適用於插入和更新而不使用mongodb運算符,但問題是我需要使用$ addToSet運算符來更新我的集合中的值數組。用mongodb運算符發送POST數據

這就是我的JSON數據的樣子,這就是我想要發佈到網站上的內容。它使用$ addToSet & $每個:

{$addToSet:{"Data":{$each:[{"ID":"10","RandNum":"45"},{"ID":"11","RandNum":"1"},{"ID":"12","RandNum":"3"}]}} 

我也用這個嘗試:

"{$addToSet: {\"Data\": {$each: [{\"ID\":\"10\",\"RandNum\":\"45\"},{\"ID\":\"11\",\"RandNum\":\"1\"},{\"ID\":\"12\",\"RandNum\":\"45\"}]}}" 

現在,我只是想使用招將它張貼。這是我得到的錯誤:

226 Error: invalid json at Object.exports.error 
(/home/dsi-user/WVS-Dev/node_modules/express/node_modules/connect/lib/utils.js:63:13) at 
/home/dsi-user/WVS-Dev/node_modules/express/node_modules/connect/lib/middleware/json.js:73:69 at 

IncomingMessage.onEnd(/home/dsi-user/WVS-Dev/node_modules/express/node_modules/connect/node_modules/raw-body/index.js:109: 7)at incomingMessage.EventEmitter.emit(events.js:92:17)IncomingMessage.g(events.js:180:16)at _stream_readable.js:920:16 at process._tickCallback(node.js:415 :13)0

出於某種原因,它似乎不喜歡$需要更新我的收藏中的文檔。我想知道我是否錯過了某些東西,或者沒有正確編碼它。我不確定。

+1

除非你不關心數據模型可以完全改變了,我建議你換這個類型的邏輯到Web服務電話,並且不允許通過更新文件直接設置/更新文件。 – WiredPrairie

+0

我必須允許直接更新,這是我被告知要做的事情。 – user

回答

1

嘗試包裹以$引號也開始字段名:

{"$addToSet":{"Data":{"$each":[{"ID":"10","RandNum":"45"},{"ID":"11","RandNum":"1"},{"ID":"12","RandNum":"3"}]}} 
+0

工作。現在我收到一個關於內容長度的錯誤,我知道如何解決這個錯誤!所以我都準備好了。謝謝! – user