我正在学习CouchDB I并非常喜欢它的功能.但有一件事让我感到困惑,而CouchDB通过JSON进行通信的主张就是这样.
实际上,JSON要求对象的键是字符串,而有可能,甚至Damien Katz自己也建议使用返回其键是其他对象或数组的对象的视图.
这很令人困惑,因为我没有发现CouchDB使用JSON变体的任何地方.此外,它没有多大意义,至少有两个原因:
两个键何时被认为相等?例如,我假设如果CouchDB允许不是字符串的键,则允许使用数字.但是然后键5和'5'将是不同的,这是奇怪的,因为在Javascript中它们被认为是相同的.
更重要的是,解析CouchDB的输出将更加困难,因为不能使用可用于每种语言的标准JSON解析器.
我只是在解释上面的链接时感到困惑,或者实际上CouchDB是否返回了非标准的JSON输出?如果是这样,一个人如何使用它?
文档ID(_id)字段必须是字符串.视图键(第一个参数emit())可以是任何JSON值.你是对的,这有点令人困惑.
根据CouchDB归类规范,两个密钥被认为是相等的.基本上,值与您期望的相比:
当然,对于文档ID,唯一重要的是字符串排序,因为文档ID总是字符串.
最后,CouchDB总是输出标准JSON.如果您遇到来自CouchDB的非标准JSON,这是一个错误,社区希望听到它.
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |