此查询有问题,我无法分辨它是什么。我确信这很简单:
db.foo.insert({
'created at': new Date(),
ooc: false,
body: '<p>Moo</p>\n',
keywords: [ 'Moo' ],
mentioned: [],
tags: [],
sender: {
_id: 'stuff',
name: 'lambdadusk',
'display name': 'Lambda'
}
});
我从Mongo得到的错误只是
!e.eoo()
我正在使用MongoDB 2.0.5。谷歌搜索错误并没有告诉我太多。
答案 0 :(得分:2)
我应该早点尝试过。
问题不在于查询,但是集合的BSON数据文件以某种方式被破坏了。我不得不放弃收藏,然后重新尝试。
幸运的是,由于我在开发初期,这个系列是空的。
答案 1 :(得分:0)
eoo表示对象结束,如果不存在,您的JSON中可能会出现解析错误。可能Mongo想要严格有效的JSON,所以你可能需要对所有字符串使用双引号并且可能删除新的Date()位。
http://jsonlint.com/建议这是有效的,而您发布的代码则不然。
,不确定Mongo是否使用BSON是否有帮助{
"created at": {},
"ooc": false,
"body": "<p>Moo</p>\n",
"keywords": [
"Moo"
],
"mentioned": [],
"tags": [],
"sender": {
"_id": "stuff",
"name": "lambdadusk",
"displayname": "Lambda"
}
}