Node.js MongoDB赢得';不保存JSON文档?

Node.js MongoDB赢得';不保存JSON文档?,node.js,mongodb,mongojs,nosql,Node.js,Mongodb,Mongojs,Nosql,快速提问,但是有人知道为什么MongoDB不会保存以下文档吗?我在NodeJS中使用MongoJS连接到MongoDB,并使用以下代码行进行保存(在我的JS文件中,函数调用位于变量定义下面)。save函数不保存,但会自动转到回调函数 有什么想法吗?非常感谢:) 编辑: 将错误日志添加到回调后,出现以下错误: { [MongoError: error parsing element 0 of field documents :: caused by :: wrong type for '0' f

快速提问,但是有人知道为什么MongoDB不会保存以下文档吗?我在NodeJS中使用MongoJS连接到MongoDB,并使用以下代码行进行保存(在我的JS文件中,函数调用位于变量定义下面)。save函数不保存,但会自动转到回调函数

有什么想法吗?非常感谢:)


编辑:
将错误日志添加到回调后,出现以下错误:

{ [MongoError: error parsing element 0 of field documents :: caused by :: wrong type for '0' field, expected object, found 0: "{"Word":"Count","read":1,"letter":1,"wh":1,"urging":2,"swift":1,"approval":1,"add'l":1,"lease":1,"space":1,"fayetteville":1,"vamc":1,"vets":2,"care":1..."]
  name: 'MongoError',
  ok: 0,
  errmsg: 'error parsing element 0 of field documents :: caused by :: wrong type for \'0\' field, expected object, found 0: "{"Word":"Count","read":1,"letter":1,"wh":1,"urging":2,"swift":1,"approval":1,"add\'l":1,"lease":1,"space":1,"fayetteville":1,"vamc":1,"vets":2,"care":1..."',
  code: 9 }

我在以下情况下出现此错误:

  • 在客户端代码中创建JSON对象
  • 通过http请求发送它
  • 从节点代码中的请求主体获取它
  • 将正文内容发送到mongodb
问题是发送的对象是字符串,而不是JSON对象

使用
var json=json.parse(主体中的json字符串)
和send
json
解决我的问题


另外,我使用了
insert()
方法而不是
save()
。在mongodb控制台中,
save({“htt…”:1})
这是数据的一部分,它返回一个错误,但是
insert({“htt…”:1})
工作正常。

尽管在这里阅读,但很长一段时间都在努力解决这个问题。问题的实际原因最终证明是我试图更新的JSON对象是“未定义的”。尝试捕获mongo错误并打印整个错误对象

在我的例子中,JSON对象被认为是未定义的,因为它实际上是一个数组,而不是一个对象。所以我尝试在myJsonObject[0]上进行mongo更新,而不是在实际上是数组的myJsonObject上进行更新,结果成功了


对您试图保存的字符串化json“object”执行console.log,如果它被方括号包围,那么您就知道您正在处理一个数组,需要处理它的元素。

在执行此操作时,我在Mongoose中遇到此错误

Model.update(docId, {...})
当我应该做的时候

Model.update({_id: docId}, {...})

在回调和日志中添加一个错误arg,我收到以下错误:`{[MongoError:错误解析字段文档的元素0::原因::字段“0”的类型错误,预期对象,发现0:“{”单词“:“Count”,“read”:1,“letter”:1,“wh”:1,“adviction”:2,“swift”:1,“approval”:1,“add'l”:1,“lease”:1,“space”:1,“fayetteville”:1,“vamc”:1,“vets”:2,”注意:1…]名称:“MongoError”,确定:0,errmsg:“分析字段文档的元素0时出错::原因::字段“0”的类型错误,应为对象,找到0:“`在mongo shell中运行良好。您能否发布一个最小的代码示例来触发此异常?请尝试从该大型文档中删除字段,直到您确定导致问题的确切字段(我将从包含非字母数字字符的字段开始).一样。谢谢分享。我觉得不支持这个快捷方式让我受骗了。
Model.update({_id: docId}, {...})