なっく日報

技術やら生活やらのメモ

MongoDBのDocumentサイズに関するメモ

本日調査する過程でいろいろと復習になったので、メモっておきます。

Document Sizeのリミットは16MB

BSONの最大サイズは16MB。
余談だが、↓によると1.7.3以前は4MBだったそう(1系使ってた人なんて、そんないないとは思いますが・・・)
古い情報なんで、ひっかからないようにしてください。
[SERVER-431] Increase the 4mb BSON Object Limit to 16mb - MongoDB Jira

maxMessageSizeBytesという制限もある

mongodbのクライアントとサーバでやりとりするメッセージの最大サイズは48000000 bytes(46MB弱?)
isMaster — MongoDB Manual

Node.jsのmongoドライバの1.4系(古い)で、これ起因で変な挙動ががが

db.isMaster()

mongoshellにて。
3系だと↓な感じ。
maxBsonObjectSizemaxMessageSizeBytesとかがわかる。

> db.isMaster()
{
        "ismaster" : true,
        "maxBsonObjectSize" : 16777216,
        "maxMessageSizeBytes" : 48000000,
        "maxWriteBatchSize" : 1000,
        "localTime" : ISODate("2015-12-07T12:17:21.227Z"),
        "maxWireVersion" : 3,
        "minWireVersion" : 0,
        "ok" : 1
}

BSONのサイズを調べる

mongoshellにて。単位はbyte。

> Object.bsonsize(db.hoge.findOne());
45