獲取查詢中所有文檔的大小 (Get the size of all the documents in a query)


問題描述

獲取查詢中所有文檔的大小 (Get the size of all the documents in a query)

有沒有辦法在 MongoDB shell 中獲取滿足特定查詢的所有文檔的大小?

我正在創建一個將使用 mongodump 的工具(使用 query 選項查看 here)在外部媒體設備上轉儲特定數據。但是,我想在開始轉儲之前查看所有文檔是否都適合外部媒體設備。這就是為什麼我想獲取所有滿足查詢的文檔的大小。

我知道 Object.bsonsize 方法描述了 $bsonSize returns the size in bytes of a given document when encoded as BSON.

Thus, in order to sum the bson size of all documents matching your query:

// { d: [1, 2, 3, 4, 5] }
// { a: 1, b: "hello" }
// { c: 1000, a: "world" }
db.collection.aggregate([
  { $group: {
    _id: null,
    size: { $sum: { $bsonSize: "$$ROOT" } }
  }}
])
// { "_id" : null, "size" : 177 }

This $groups all matching items together and $sums grouped documents' $bsonSize.

$$ROOT represents the current document from which we get the bsonsize.

(by GammaOmegaGammaOmegaXavier Guihot)

參考文件

  1. Get the size of all the documents in a query (CC BY‑SA 2.5/3.0/4.0)

#mongo-shell #mongoDB #mongodump #mongodb-query #bson






相關問題

Windows 是否有任何 mongo shell 擴展? (Is there any mongo shell extensions for windows?)

獲取查詢中所有文檔的大小 (Get the size of all the documents in a query)

如何從 java 程序運行 mongo 查詢? (How to run a mongo query from java program?)

MongoDB 更新 ObjectId 字段 (MongoDB update ObjectId field)

MongoDB - 將簡單字段更改為對象 (MongoDB - change simple field into an object)

mongoDB aggregate() 在電子郵件對象集合中查找電子郵件時間 (mongoDB aggregate() finding email times in a collection of email objects)

指定在 mongodb .js 腳本中使用哪個數據庫 (Specify which database to use in mongodb .js script)

命令失敗:MongoError:CMD_NOT_ALLOWED:配置文件 (command failed: MongoError: CMD_NOT_ALLOWED: profile)

有沒有辦法在 MongoDB 的一個語句中添加遞增的 id? (Is there a way to add an incrementing id in one statement in MongoDB?)

運行 rs.initiate() 後 mongodb 副本集錯誤“...replSetHeartbeat 需要身份驗證...” (mongodb replica set error "...replSetHeartbeat requires authentication..." after running rs.initiate())

將 mongo shell 連接到受限的 MongoDB Atlas 數據庫? (Connect mongo shell to restricted MongoDB Atlas Database?)

[MongoDB]:更改所有數組字段中的值類型 ([MongoDB]: Changing the type of values in all array fields)







留言討論