問題タブ [moped]
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.
ruby - アップサート/モンゴイド/モペットでプッシュする方法
Mongoid(v3)を使用してMongoDBにアクセスしており、次のアクションを実行したいと思います。
これはmongoシェルで正常に機能します。これは、私が頻繁に呼び出すことになるので、私にとって重要な単一の不可分操作であるため、まさに私が望んでいることでもあります。フェッチと更新の2つの操作を実行する必要はありません。私はmongoidを介してたくさんのことを試しましたが、それを機能させることができません。
どうすればMongoIDを邪魔にならないようにして、このコマンドをMongoDBに送信できますか?Mopedレベルでこれを行う方法があると思いますが、そのライブラリのドキュメントは基本的に存在しません。
mongoid - Mongoid 3 データベース接続をリセットする方法
Mongoid 2.x では、実行Mongoid.database.connection.close
してデータベース接続をリセットできました。この特定の API は Mongoid3 では使用できなくなりました。接続をリセットする新しい方法は何ですか?
動機: 進行中のクエリを中断すると (ctrl-c)、接続が切断されます。後続のクエリはハングするだけです。さらに、タイムアウトなどのスローされたエラーは同じことを行います (参照: http://simple10.com/rescuing-from-racktimeout-to-close-mongodb-connection )。
ruby - Moped: mongodb コレクションの名前を変更
Mongoid + Moped ドライバーを使用して、コレクションの名前を変更するにはどうすればよいですか?
http://docs.mongodb.org/manual/reference/command/renameCollection/の Moped 実装はありますか?
ruby-on-rails - Mongoid/Moped が Timeout::Error を実稼働の Rake タスクで Airbrake にスローするのはなぜですか?
本番環境のインストールで問題が発生しています。正常に実行されるいくつかのスケジュールされた rake タスクがあります。しかし、私は AirbrakeTimeout::Error: execution expired
から多くのメールを受け取っています。
しかし、ここで奇妙な点があります。Rake タスクはすべて正常に完了します。cron コマンドで stdout/stderr をキャプチャしていますが、エラーはログに表示されません。また、rake タスクの最後に単純な print ステートメントを追加して、完了を確認しました。
これをさらにトラブルシューティングするにはどうすればよいですか?
これは、電子メールの 1 つからのスタック トレースです。
rspec - rspec がエラー Moped::Errors::ConnectionFailure を与える
テストrspecを実行すると、エラーが発生します
なぜこのエラーが発生したのですか?
ありがとう..
ruby-on-rails - Mongoid3/Moped: データベース=管理コマンド={:ismaster=>1}
Rails アプリを 3.2.8 と Mongoid 3/Moped にアップグレードしました。開発中、本番環境に設定されている開発マシンではすべて正常にrails c
動作し、本番環境でも正常に動作します。ただし、アプリは起動せず (パッセンジャーに展開されます)、タイムアウトしたようで、エラーは発生しません。本番環境で log_level を debug に設定すると、次のように表示されます。
これを修正するにはどうすればよいですか? (記録として、私が使用しようとしているデータベースは admin と呼ばれていません。)
ありがとう、
アビシャイ
ruby-on-rails - Mongoid 集計 $match と Date オブジェクトが機能しませんか?
この構造を持つコレクションにユーザー ドキュメントがあります。
日付に基づいてこれらのドキュメントを簡単にクエリできます。
ログによると:
MOPED: 127.0.0.1:27017 COMMAND database=db command={:count=>"users", :query=>{"activities"=>{"$elemMatch"=>{"date_time_created"=>{"$gte" =>2012-05-10 00:00:00 UTC、"$lt"=>2012-07-12 00:00:00 UTC}}}}} (0.5260ms)
この方法で必要な結果が得られます。
ただし、同じ基準に基づいて新しい集計関数と $match を使用しようとすると、次のようになります。
ログによると:
MOPED: 127.0.0.1:27017 COMMAND database=db command={:aggregate=>"users", :pipeline=>[{"$match"=>{:activities=>{"$elemMatch"=>{"date_time_created" =>{"$gte"=>2012 年 5 月 10 日 (木)、"$lt"=>2012 年 7 月 12 日 (木)}}}}}]} (0.6049ms)
"start_date" と "end_date" は Ruby Date オブジェクトであり、両方のクエリで本質的に同じです。ただし、ログを見ると、さまざまな形式に変更されています。start_date.strftime("%Y-%m-%d") のようなものでフォーマットを強制しようとしても、まだ機能しません。
集約パイプラインには他の関数がありますが、それらを取り出してもエラーが発生します。
集計関数が日付に一致するようにするにはどうすればよいですか?
ruby - ルビー例外をキャッチできません
次の長時間実行される rake バッチがある:
Moped::Errors::CursorNotFound 例外をキャッチするようにアスペクトしましたが、機能しません。
crontab ログには、次のメッセージが表示されます。
次に、レスキュー メッセージと次のループ操作を確認している間に、バッチが停止して終了します。
アップデート
これを行うことにより、キャッチ可能な例外セットをStandardErrorに「拡張」しようとしています:
...念のため、 CursorNotFound が MongoErrorを継承し、それがStandardErrorを継承している場合でも、ここで確認できます。
アップデート
ループロジック、begin/rescue/end などに何かが欠けている場合に備えて、rake で使用される完全なSyncStarredRepoクラスを使用して、以前の単純化されたコードを更新しました ...
アップデート
によって出力されたスタックトレースに従いますrake -t
。
ruby-on-rails - レーキが中止されました!操作:「GETMORE」
rakeタスクを実行すると、以下のエラーが発生します。誰か助けてもらえますか?
エラー
私のレーキコード
前もって感謝します