In CouchDB, the documents you store must be serializable as JSON. Modifying the Object prototype or storing classes is not supported.
翻译为:
使用CouchDB,你存储的文档必须是序列化的 JSON 格式数据。修改对象原型或存储类是不被支持的。
请问这里说的:修改对象原型(Modifying the Object prototype)
是什么意思啊?
In CouchDB, the documents you store must be serializable as JSON. Modifying the Object prototype or storing classes is not supported.
翻译为:
使用CouchDB,你存储的文档必须是序列化的 JSON 格式数据。修改对象原型或存储类是不被支持的。
请问这里说的:修改对象原型(Modifying the Object prototype)
是什么意思啊?
修改对象原型(Modifying the Object prototype)
在这里指的是在 JavaScript 中修改对象原型链的行为。在 JavaScript 中,每个对象都有一个原型对象,原型对象上可以定义属性和方法,这些属性和方法可以被其原型链上的对象所共享。
当你“修改对象原型”时,意味着你在更改某个对象的原型对象,可能是添加新的属性或方法,或者改变它指向的原型对象。这种行为在某些情况下可能会导致不可预见的结果,尤其是在库或框架之间共享对象时,因为它们可能依赖于对象原型的特定状态。
在 CouchDB 的上下文中,不支持修改对象原型是因为 CouchDB 存储的数据必须是 JSON 格式。JSON 是一种轻量级的数据交换格式,它不支持 JavaScript 中的许多高级特性,包括原型链。因此,如果你尝试存储一个修改过原型的对象,它可能无法正确地序列化为 JSON,从而导致存储失败或数据丢失。
简而言之,修改对象原型
在这里指的是在 JavaScript 中更改对象的原型链,而 CouchDB 由于其数据存储格式的限制,不支持这种行为。
6 回答5.3k 阅读✓ 已解决
9 回答9.5k 阅读
15 回答7k 阅读
3 回答10.6k 阅读✓ 已解决
4 回答7.5k 阅读
5 回答8.4k 阅读
2 回答10.5k 阅读✓ 已解决
序列化的 JSON 格式数据,支持的数据类型是有限的。以下是 JSON 支持的数据类型以及不支持的数据类型:
支持的数据类型
对象 (Object):
{}
表示。示例:
数组 (Array):
[]
表示。示例:
字符串 (String):
""
包围的文本。示例:
数字 (Number):
示例:
布尔值 (Boolean):
true
或false
。示例:
null:
示例:
不支持的数据类型
日期 (Date):
示例:
函数 (Function):
示例:
undefined:
undefined
值。示例:
NaN 和 Infinity:
NaN
和Infinity
。示例:
对象的原型链:
示例:
循环引用:
示例: