問題タブ [gmongo]
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.
mongodb - Grailsドメイン基準によるアクティブなカーソルでのMongo CursorNotFound例外
リモートデータベース接続を使用して、Grails 2.4.4、mongo プラグイン 3.0.2、MongoDB 2.4.10 を使用しています。
私たちのアプリケーションの一部では、サービス メソッドが 20,000 人以上のユーザーを反復し、電子メールを送信します。
約 6000 人のユーザーに対してこれを実行した後、MongoDB カーソル例外が発生します。
ドキュメントを探したところ、カーソルが 20 分で自動的に閉じられることがわかりました。ログで確認したところ、この例外はちょうど 20 分後に発生しました。
ただし、この 20 分での自動クローズの動作は、非アクティブなカーソルに適用できますが、ここではカーソルがアクティブです。
更新:
いくつかの記事を読んだところ、これは TCP キープアライブ タイムアウトの問題である可能性があることがわかりました。そのため、TCP キープアライブ タイムアウトをデフォルトの 2 時間から 2 分に変更しましたが、それでも問題は解決しません。
java - 複数行の文字列引数を指定した doEval()
Groovy 2.3.6、GMongo 1.2、Java 1.8、MongoDB 3.0.0 を使用しています...
doEval()
コレクション内のドキュメントの数を取得するために使用しようとしています。doEval()
(さまざまな理由で、 ではなく使用したいcount()
)。1行の文字列引数で呼び出すdoEval()
と、1.0のdouble値でretvalが返され、1.0のdouble値でokが返されます。これは私が期待するものです:
引数が複数の行にある場合、返される retval は null (ok は 1.0) です。
最初の例のように、doEval がヌルではなく 1.0 の retval を返すことを期待しています。これはバグですか、それとも私の期待は間違っていますか? doEval()
複数行の文字列引数をサポートする必要がありますか?
mongodb - mongodb クエリを傍受してログに記録する方法は?
gmongo
ドライバーから送信された正確なクエリを取得するにはどうすればよいですかmongod
(デバッグ目的で)。
mysqlではlogSql = true
、データソースに追加することで実現されます。
開始日と終了日の間にパイプラインが一致する集計クエリを作成しています。日付は通常の Java Date クラスとして与えられます。
また、日付に基づいて結果をフィルタリングしていないようです。それは私にすべてを返してくれます。