使用mongodb运算符发送POST数据

时间:2014-02-27 21:03:00

标签: json mongodb

我正在尝试将一个JSON块发送到这个将json插入mongodb的nodejs应用程序。 nodejs app适用于插入和更新而不使用mongodb运算符,但问题是我需要使用$ addToSet运算符来更新我的集合中的值数组。

这就是我的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\"}]}}"

现在,我只是想用Fiddler发布它。这是我得到的错误:

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 at     IncomingMessage.g(events.js:180:16)IncomingMessage.EventEmitter.emit(events.js:92:17)at at     _stream_readable.js:920:16 at process._tickCallback(node.js:415:13)0

出于某种原因,它似乎不喜欢更新我的集合中的文档所需的$。我想知道我是否遗漏了某些东西或者没有正确编码。我不确定。

1 个答案:

答案 0 :(得分:1)

尝试用引号括起以$开头的字段名:

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