1

只是看看是否有人有以下经验。如果我想存储一个嵌套的 JSON 对象,它可能有 10 到 500 个键:字符串对,将嵌套的 JSON 对象存储为字符串还是将其保留为对象更好?将值保留为 JSON 对象而不是字符串会产生什么内存损失?

4

1 回答 1

1

您可以在 mongoshell 中使用 Object.bsonsize() 检查文档的大小

例如:

> Object.bsonsize({})
5
> Object.bsonsize({a:''})
13
> Object.bsonsize({a:'',b:''})
21
> Object.bsonsize({a:'',b:'',c:''})
29

> Object.bsonsize({a:{a:'',b:'',c:''}})
37
> Object.bsonsize({a:{a:'',b:''}})
29
> Object.bsonsize({a:{a:''}})
21

> Object.bsonsize({a:"{a:'',b:'',c:''}"})
29
> Object.bsonsize({a:"{a:'',b:''}"})
24
> Object.bsonsize({a:"{a:''}"})
19

> Object.bsonsize({a:""})
13
> Object.bsonsize({ab:""})
14
> Object.bsonsize({abc:""})
15

对我来说,空文档是 5 个字节,一个空字符串是 7 个字节,名称中的每个字符是 1 个字节,内容中的每个字符是 1 个字节。

于 2013-08-28T14:52:01.333 回答