[解決済み] Mongodb で一つのドキュメントのサイズを取得するには?
2022-11-08 12:37:15
質問
mongoの不思議な挙動に遭遇しましたので、少し解明したいと思います。
私の要求は単純です。私はコレクション内の単一のドキュメントのサイズを取得したいです。
私は2つの可能な解決策を見つけました。
- Object.bsonsize - バイト単位でサイズを返す javascript のメソッドです。
- db.collection.stats() - 'avgObjSize'という行があり、データ上でいくつかの "集約"(平均)サイズビューを生成します。これは、単に単一のドキュメントの平均サイズを表します。
私は1つの文書だけでテストコレクションを作成するとき、両方の関数は異なる値を返します。どのように可能なのでしょうか?
mongoドキュメントのサイズを取得するための他の方法が存在しますか?
ここでは、私がテストを行ったいくつかのコードを提供します。
-
新しいデータベース「test」を作成し、type:"auto"の1つの属性のみを持つ単純なドキュメントを入力しました。
db.test.insert({type:"auto"})
-
stats()関数呼び出しからの出力。 db.test.stats() :
{ "ns" : "test.test", "count" : 1, "size" : 40, "avgObjSize" : 40, "storageSize" : 4096, "numExtents" : 1, "nindexes" : 1, "lastExtentSize" : 4096, "paddingFactor" : 1, "systemFlags" : 1, "userFlags" : 0, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1
}
-
bsonsize関数呼び出しからの出力。 Object.bsonsize(db.test.find({test:"auto"}))
481
どのように解決するのですか?
前の呼び出しで
Object.bsonsize()
を呼び出すと、 Mongodb はドキュメントではなくカーソルのサイズを返しました。
正しい方法は、このコマンドを使うことです。
Object.bsonsize(db.test.findOne())
とは
findOne()
で、特定のドキュメントに対するクエリを定義することができます。
Object.bsonsize(db.test.findOne({type:"auto"}))
これは、特定のドキュメントの正しいサイズ(バイト)を返します。
関連
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] 変異を伴わないオブジェクトからの値の削除