MongoDB JSON中没有引号

时间:2016-01-30 10:47:55

标签: javascript json mongodb

我正在学习MongoDB。虽然JSON规范如下:

{"Website":"Stack overflow", "Popularity":"High"}

在Mongo JavaScript示例中我看到它:

{
name: "David",
score: 0
}

我尝试过以下示例:

text = '{"name": "Wallie"}';
text2 ='{name: "Wallie"}' 

JSON.parse(text)效果很好而JSON.parse(text2)给出Syntax Error: Unexpected token

那么为什么MongoDBs JSON有所不同?

2 个答案:

答案 0 :(得分:0)

我的理解如下:

以下

{"Website":"Stack overflow", "Popularity":"High"} 

是使用键和值引用创建查询的完整方法。

这个例子

{name: "David",score: 0}
如果您使用 mongo shell

是可以接受的,因为引号是隐式的(再次在mongo shell中)并且可以省略; shell会为你处理它。如果你没有使用shell,那么Quotes应该按照JSON规范存在。

我的建议是从mongodb开始从shell开始,而不是转移到他们的驱动程序支持的任何编程语言(java,python,js..etc)

希望有所帮助

答案 1 :(得分:0)

最后,我在https://docs.mongodb.org/manual/core/document/#document-format

找到了解决方案

它是BSON而非JSON,MongoDB使用它。它类似于JavaScript对象表示法,并且与JSON兼容,因此存在混淆。