1

誰かが次の経験を持っているかどうかを確認するだけです。10 から 500 までの key:string ペアを持つネストされた JSON オブジェクトを格納したい場合、ネストされた 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バイト、1つの空の文字列は7バイト、名前の各文字は1バイト、コンテンツの各文字は1バイトのようです。

于 2013-08-28T14:52:01.333 に答える