問題タブ [capped-collections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
766 参照

javascript - MongoDB で 64 ビット長の自動インクリメント カウンターを使用する方法

MongoDB を使用してロガー データベースを実装しています。上限のあるコレクションには、ネットワーク全体の複数のソースから収集されたログ メッセージが含まれます。後で$lte/$gteクエリを実行したいので、単調関数として成長する が必要です。_id_id

それを達成するために、この記事http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/で説明されている自動インクリメントカウンターを実装しました

私のコードは次のようになります。

それは完全に正常に動作しますが、デフォルトではMongoDBで使用される数値フィールドは実際には浮動小数点数であることを読みました. 問題は、データベースのログ エントリのコレクションが制限されており、多数のエントリが存在することです。さらに、これは上限のあるコレクションであるため、古いエントリは上書きされますが、カウンターは増え続けます。フロートとしてカウンターを使用すると、システムが数年後に機能し続けることを保証できません。私の質問は、この特定のケースで MongoDB に 64 ビット カウンターを使用させるにはどうすればよいかということです。

いくつかのコード例を提供してください。

0 投票する
1 に答える
1026 参照

node.js - Mongoose:express.jsアプリでキャップされたコレクションからデータを取得する方法は?

ロギング機能として使用して、MongoDB キャップ付きコレクションをリッスンしたいと思います。
ノード、express.js、mongo (mongoose) を使用します。

これは私が今までに持ってきた(簡略化された)コードです:

私の問題は、 myRoutingMethod() が呼び出される前に、次のようになることです:

だから、私は決して得ません

stream()上限のあるLogコレクションとの統合について、おそらく何かが欠けていexpress.jsます...

どんな手掛かり?

0 投票する
2 に答える
1230 参照

javascript - Mongodb:キャップされたコレクションで「tail -f」ビューを作成する方法は?

cappedMongo データベースのコレクション (ログ テーブルとして使用される) に一種の「ダッシュボード」を作成したいと考えています。これは私がコレクションを作成する方法です:

collection.find()オプションtailable:trueawaitdata:true、およびnumberOfRetries:-1(無限の再試行)を使用して、 を実行します。

私を困惑させているのは、find()。each()ループが新しいデータ(メッセージ)を待つことを期待していることです...代わりに(数秒後)エラーになります(No more documents in tailed cursor... :-()

これは私が取り組んでいるコードです:

何が恋しいですか?

更新

今まで決定的な答えを受け取ってMongoDb tailable collectionsいないので、ゴールデンタイムの準備ができていないと推測します... :-(((

悲しいことに、より古典的で堅牢な fs ロギング ソリューションをあきらめています...

0 投票する
1 に答える
70 参照

mongodb - phalcon Collection モデルで MongoDb capped コレクションを使用することは可能ですか?

ログに mongoDb コレクションを使用しているため、MongoDb キャップ付きコレクションを使用したいと考えています。

それを行うためにphaclon Collectionを使用できますか、それともログモデル内でログローテーションをコーディングする必要がありますか?

0 投票する
1 に答える
971 参照

mongodb - MongoDB の上限付きコレクションにフィールドを追加する

いくつかのフィールドでログ データを保存するために、キャップ付きコレクションを作成しました。いくつかの要件により、このコレクションに「createAt」という名前の追加フィールドを追加したいと考えました。

これは以下のエラーをスローしています:

キャップされたコレクションにいくつかのフィールドを追加するにはどうすればよいですか?

0 投票する
1 に答える
1576 参照

mongodb - MongoDbのキャップ付きコレクションをキャップなしコレクションに変換するには?

特定のビジネス要件により、MongoDB の上限付きコレクションにデータを保存していましたが、完全な要件が変更されたため、そのコレクション内のすべてのレコードを保存したくありません。

「convertToCapped」コマンドは見つかりましたが、その逆の操作を実行するコマンドは見つかりませんでした。

キャップなしのコレクションに戻すにはどうすればよいですか?

0 投票する
0 に答える
341 参照

mongodb - TTL を使用した mongodb キャップ付きコレクション

ユーザーが他のユーザーとチャットできるアプリケーションを持っていますが、

会話ごとに X 件のメッセージのみを保存したいのですが、各メッセージは作成から 1 か月後に削除する必要があります (TTL)。

MongoDB は TTL を使用した上限付きコレクションをサポートしていますか?

ドキュメントには次のように記載されています: https://docs.mongodb.org/manual/core/capped-collections/#automatically-remove-data-after-a-specified-period-of-time

私はそうは思わないので、それを達成するための代替手段はありますか?

ありがとう

0 投票する
1 に答える
756 参照

mongodb - キャップ付きコレクションと _id 自動インデックス

デフォルトでキャップ付きコレクションの _id フィールドに自動インデックスを設定する理由は何ですか? ドキュメントには次のことが記載されています。

このインデックス作成のオーバーヘッドがなければ、上限のあるコレクションはより高い挿入スループットをサポートできます。

上限付きコレクションの挿入パフォーマンスに関する投稿があり、私自身のテストでは、挿入の場合、インデックスなしの上限付きコレクションが最速のオプションであり、次に通常のコレクションが行われ、最も遅いオプションはインデックス付きの上限付きコレクションであることが示されています。バージョン 2.2 で _id フィールドと共に自動インデックスが追加されたのはなぜでしょうか? 特定のシナリオで通常のコレクションに代わる高速な代替手段として上限付きコレクションが提案されているのに、パフォーマンスに問題があった場合はどうすればよいでしょうか?