I私は私のテストデータベースにdb.statsを実行すると、以下を得る合計オブジェクトはMongoDBの内の個々の文書収集カウントの合計と一致しdoesnot、コレクションはカウントも不一致である
db.stats()
{
"db" : "test",
"collections" : 6,
"objects" : 1000032,
"avgObjSize" : 112.00064797926467,
"dataSize" : 112004232,
"storageSize" : 175812608,
"numExtents" : 17,
"indexes" : 8,
"indexSize" : 169905456,
"fileSize" : 2080374784,
"nsSizeMB" : 16,
"extentFreeList" : {
"num" : 77,
"totalSize" : 760766464
},
"dataFileVersion" : {
"major" : 4,
"minor" : 22
},
"ok" : 1
}
これらは、異なるコレクションです私はここで、各コレクション
db.foo.count() - 1000000
db.sentences.count() - 7
db.stackoverflow.count() - 2
db.system.indexes.count() - 8
db.system.profile.count() - 2
上のドキュメント上の別々のカウントがあるテスト・データベースに
db.getCollectionNames();
[
"foo",
"sentences",
"stackoverflow",
"system.indexes",
"system.profile"
]
を持っています
は今、私は2つの質問
1)なぜ私は私だけdb.getCollectionNames()
2)合計で5を持って、私のdb.stats 6()クエリ、などのコレクションを取得していますがありますこの
db.version();
3.0.3
db.serverStatus().storageEngine
{ "name" : "mmapv1" }
を理解する上で自分の考えを助けてください1000032
:文書の数は1000000 + 7 + 2 + 8 + = 1000016 2にする必要がありますが、db.statsに、私は "オブジェクト" を取得しています
Addi TIONAL情報
私は今、すべてのデータは、その後、私は、コレクションを作成し、一つだけを挿入し、正しく見せていたのmongoシェルで新しいDBを作成し、db.statsを実行すると、以下のような結果に
use newdb
db.stats()
{
"db" : "newdb",
"collections" : 0,
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 0,
"numExtents" : 0,
"indexes" : 0,
"indexSize" : 0,
"fileSize" : 0,
"ok" : 1
}
を取得記録してから、もう一度私は数に矛盾があります。
db.mycollection.insert({_id:1, name:'Clement Amarnath'});
WriteResult({ "nInserted" : 1 })
db.stats()
{
"db" : "newdb",
"collections" : 3, "objects" : 5,
"avgObjSize" : 60.8,
"dataSize" : 304,
"storageSize" : 20480,
"numExtents" : 3,
"indexes" : 1,
"indexSize" : 8176,
"fileSize" : 67108864,
"nsSizeMB" : 16,
"extentFreeList" : {
"num" : 0,
"totalSize" : 0
},
"dataFileVersion" : {
"major" : 4,
"minor" : 22
},
"ok" : 1
}
db.getCollectionNames()
[ "mycollection", "system.indexes" ]
db.system.indexes.count()
1
を数えますか? –
@KevinAdistambha - 質問のバージョンとストレージエンジンを更新しました –