MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

5 Cara Memeriksa Ukuran Koleksi di MongoDB

Pada artikel ini saya menyajikan 5 cara yang dapat Anda gunakan untuk memeriksa ukuran koleksi MongoDB saat menggunakan shell mongo.

dataSize() Metode

Mungkin cara tercepat dan termudah untuk memeriksa ukuran koleksi MongoDB adalah dengan menggunakan db.collection.dataSize() metode. Metode ini mengembalikan ukuran koleksi dalam byte.

Untuk memanggil metode ini, cukup ganti collection dengan nama koleksi yang ingin Anda periksa.

Contoh:

db.posts.dataSize()

Hasil:

3012

Contoh ini memeriksa ukuran koleksi yang disebut posts . Ini hanya kumpulan kecil dengan segelintir dokumen kecil, sehingga ukurannya hanya 3012 byte.

totalSize() Metode

db.collection.totalSize() metode mengembalikan ukuran total dalam byte data dalam koleksi ditambah ukuran setiap indeks pada koleksi.

Oleh karena itu, gunakan metode ini jika Anda ingin mengetahui ukuran total yang mencakup semua indeks.

Contoh:

db.posts.totalSize()

Hasil:

114688

Ini adalah koleksi yang sama yang kami gunakan pada contoh sebelumnya. posts koleksi memiliki tiga indeks (termasuk yang ada di _id field), dan kita dapat melihat bahwa ukuran total secara signifikan lebih tinggi daripada ukuran koleksi tanpa indeks.

The stats() Metode

Jika Anda membutuhkan lebih dari sekadar ukuran koleksi, Anda dapat mencoba db.collection.stats() metode.

Metode ini mengembalikan statistik tentang koleksi (termasuk ukurannya).

Contoh:

db.posts.stats()

Hasil (sebagian):

{
	"ns" : "krankykranes.posts",
	"size" : 3012,
	"count" : 27,
	"avgObjSize" : 111,
	"storageSize" : 36864,
	"freeStorageSize" : 16384,
	"capped" : false,
	"wiredTiger" : {
		"metadata" : {
			"formatVersion" : 1
		},
...

Metode ini mengembalikan banyak data, jadi saya hanya mengembalikan sebagian kecil pertama di sini. Ukuran koleksi tercantum di dekat bagian atas hasil, di size lapangan.

Secara default, metode ini mengembalikan data ukuran dalam byte. Anda dapat mengubahnya sehingga dilaporkan dalam kilobyte jika Anda mau. Untuk melakukannya, gunakan scale parameter dengan nilai 1024 .

Contoh:

db.posts.stats( { scale: 1024 } )

Hasil (sebagian):

{
	"ns" : "krankykranes.posts",
	"size" : 2,
	"count" : 27,
	"avgObjSize" : 111,
	"storageSize" : 36,
	"freeStorageSize" : 16,
	"capped" : false,
	"wiredTiger" : {
		"metadata" : {
			"formatVersion" : 1
		},
...

db.collection.stats() metode menyediakan pembungkus di sekitar collStats perintah (di bawah).

collStats Perintah

Seperti disebutkan, db.collection.stats() metode adalah pembungkus untuk collStats perintah diagnostik. Perintah ini mengembalikan statistik tentang koleksi (termasuk ukurannya).

Contoh:

db.runCommand( { collStats : "posts", scale: 1 } )

Hasil (sebagian):

{
	"ns" : "krankykranes.posts",
	"size" : 3012,
	"count" : 27,
	"avgObjSize" : 111,
	"storageSize" : 36864,
	"freeStorageSize" : 16384,
	"capped" : false,
	"wiredTiger" : {
		"metadata" : {
			"formatVersion" : 1
		},
...

Seperti halnya stats() metode, perintah ini mengembalikan banyak data, jadi saya baru saja mengambil beberapa hal dari atas.

Perhatikan bahwa saya memberikan scale dari 1 dalam contoh ini untuk mengembalikan data ukuran dalam byte. Kita dapat mengubahnya menjadi 1024 untuk mengembalikannya dalam kilobyte.

Contoh:

db.runCommand( { collStats : "posts", scale: 1024 } )

Hasil (sebagian):

{
	"ns" : "krankykranes.posts",
	"size" : 2,
	"count" : 27,
	"avgObjSize" : 111,
	"storageSize" : 36,
	"freeStorageSize" : 16,
	"capped" : false,
	"wiredTiger" : {
		"metadata" : {
			"formatVersion" : 1
		},
...

$bsonSize Operator

$bsonSize operator pipa agregasi diperkenalkan di MongoDB 4.4 untuk tujuan mengembalikan ukuran dokumen BSON.

Anda dapat menggunakan $bsonSize untuk mengembalikan ukuran total semua dokumen dalam koleksi dengan menggabungkannya dengan $group dan $sum operator.

Contoh:

db.posts.aggregate([
  {
    $group: {
      "_id": null,
      "rootSize": { $sum: { $bsonSize: "$$ROOT" } }
    }
  }
])

Hasil:

{ "_id" : null, "rootSize" : 3012 }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. membuat formulir pendaftaran dan login di node.js dan mongodb

  2. MongoDB:Bagaimana cara mengetahui apakah bidang array berisi elemen?

  3. mongodb c# cara bekerja dengan dokumen BSON

  4. Memeriksa apakah suatu bidang berisi string

  5. Bagaimana cara melakukan pencarian $lookup bersarang di MongoDB?