問題タブ [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 Moped は IP アドレスを解決できませんでした... リモート MongoDB
ローカルの MongoDB には問題なく接続できますが、Ruby Mongoid を使用して MongoHQ または DotCloud インスタンスに接続しようとすると、上記のエラー メッセージが表示されます。
Ruby 1.9.3 と Moped 1.5.2 を使用しています。
MongoHub Mac クライアントを使用して、MongoHQ および DotCloud DB に接続できます。
次のようにして、irbを使用してデバッグを試みました。
これにより、「IP を解決できませんでした...」というエラー メッセージが表示されます。
私が欠けているものを知っていますか。または、この問題をデバッグするためのヒントはありますか?
ありがとう
ruby - Mongoid / Moped が埋め込みドキュメントを更新する - ArgumentError - 引数の数が間違っている (2 対 1)
Ruby / Sinatra アプリに埋め込まれたドキュメントを更新できません。埋め込み配列から正しいドキュメントを選択するために、update ステートメントで位置演算子 "$" を使用しようとしています。しかし、これは「ArgumentError - 引数の数が間違っています (1 に対して 2)」というエラーをスローしています。
ハードコーディングされた配列インデックスを使用した単純な更新ステートメントは正常に機能します。もしかして、Mongoid/Moped は位置演算子をサポートしていないのでしょうか?...
最善のアプローチが何であるかを知っている人はいますか?コントローラーでRubyを使用してすべてを反復処理せずにサブドキュメントインデックスを決定する他の方法はありますか-これはプランBですが、本当に不安定に思えます!...
ここに私の基本的なセットアップがあります: 私は「顧客」を持っています...
...「連絡先」が埋め込まれています...
そして、コントローラーで、顧客 (pk) の ._ids と、更新する特定の埋め込みドキュメント (contact_pk) の両方を取得します。
ruby-on-rails - Mongoid Moped クエリが MongoDB シェルと同じものを返さない
Mongoid 3.1.5 と MongoDB 2.4.9 を使用してクエリを作成する 同等の MongoDB クエリから行う Mongoid/Moped クエリとは異なる結果が得られます。
更新が追加された Mongoid クエリ の長いクエリは次のとおりです。
genre_filters
このクエリは、オブジェクトが 1 つしか見つからない場合を除いて、私が投げたすべてのものに対して正しく機能します。
Moped クエリを説明する次のコンソール出力が表示されます。
これは結果を返しません。私が期待したものではありません。
しばらくして、同等のはずの次の MongoDB シェル クエリを思いつきました。
MongoDB シェルで 1 つの結果を返します。これが 1 つのオブジェクトを見つける必要があります。
何か案は?1つのオブジェクトの結果がMongoidで問題を引き起こしますか?
mongodb - moped/mongoidでネストされたmongodbクエリ?
mongodb を使用していくつかのネストされたクエリを作成したいのですが、mongoid/moped を初めて使用します。例のために、友人の友人のクエリを次のように記述しても問題ありませんか?
多分
これらのクエリが機能すると確信しています。しかし、私が知らないのは、単一のクエリがmongoに渡されるのか、それとも複数のクエリが渡されるのか?
- 私が欲しいもの:クエリを「コンパイル」して送信し、結果を取得する=> 1回のデータベース呼び出し、素晴らしいことが保証されます
- 私が望まないこと:ユーザー1を見つけ、結果の配列を返し、見つかったユーザーごとに新しい友達リクエストを実行します=>多くのデータベース呼び出し、パフォーマンスの低下、そして間違いなく素晴らしいことではありません!
前もって感謝します !
ruby - この MongoDB ドキュメントにインデックスを作成する方法は?
私のオファーコレクションには、次のようなドキュメントがあります。
次のクエリを実行する必要があります (Ruby Moped を使用)。
srcs
任意の値を想定できることを念頭に置いて、このクエリを実行するためのインデックスを作成するにはどうすればよいですか?
mongoid - Padrino Admin (12.0) + Mongoid: エスケープされた引用符が MongoDB 配列構文を壊す
Padrino Admin インターフェイスで配列フィールドを持つオブジェクトを編集すると、引用符がエスケープされ、MongoDB が配列を配列として認識しなくなります。
フィールドは、オブジェクト モデル定義で配列として正しく定義されています。
何か案は?
編集: 配列はコントローラーの post および put メソッドによって受信されます。ドキュメントが MongoDB に永続化された後、エスケープされて文字列になります。たぶんこれはMongoDBのシリアル化に関係していますか?
ruby-on-rails - Mongoid 4 / MongoDB 2.4+「フリーズ」の問題
Mongoid を使用して mongodb への接続を維持して以来、奇妙な問題が発生しました。これは元々、Rails 4.0+ (Mongoid/Moped の更新が必要) へのアップグレードが原因だと思っていましたが、他の Rack ベースのアプリ (具体的には Sinatra と Grape) でもこの問題が発生しました。
安定版がリリースされた後、mongodb インスタンスを 2.4 から 2.6 に更新しましたが、この問題は 2.4 にもありました。
Github ( https://github.com/mongoid/moped/issues/274 )の問題にこれを書きましたが、ここにコピーします。
TL;DR バージョンでは、Mongoid を使用してクエリを実行しようとすると、アプリがランダムにハングします。これは、Rails コンソールを使用している場合でも、アプリが実行中 (またはデプロイ済み) の場合でも発生します。コンソールにいる場合、CTRL + C を押してからリクエストを再試行すると常に機能するため、これは何らかの接続の問題であると思われます。
私のモンゴイド構成は次のようになります。
mongoid.yml
「リモート」mongodb インスタンスを参照するように接続の詳細を変更すると、定期的な接続の問題が発生し始めます。
mongoid.yml
この問題は次のように現れます。
1) Web アプリケーションが完全に応答しなくなります (リクエストがハングするだけです) 2) Rails のログに異常は見られません (Moped と Mongoid のログ レベルが DEBUG に設定されていても)
元:
複数の Web サーバー (Webrick、Puma、Unicorn) を使用してみましたが、すべて同じ問題が発生します。
3) アプリケーション サーバーを強制終了すると (CTRL+C)、次のように表示されます。
ここで奇妙なのは、アプリケーションを本番環境 (mongodb と同じサーバー上にあり、mongoid.yml
localhost:27017 の接続が設定されている) にデプロイした場合、問題がないことです。
mongodb - mongo dbの配列の最後の値を一致させる方法は?
私はdbからいくつかのデータを取得しようとしています。これが私が試したクエリです。私の問題は、出力に配列である dc_id があることです。最初に一致する要素を返す $eleMatch を使用しています。最後の値と一致させたい場合はどうすればよいですか?
私のレコード構造は次のようになります。
ruby-on-rails - mongoid: 配列に少なくとも n 個の要素を持つ要素を選択します
mongoid では、配列に少なくとも 1 つの要素を持つアイテムをクエリできます。
Item.any_in(tag_ids: [id1,id2,id3])
すべての要素が配列内にある要素を選択することもできます。
Item.all_in(tag_ids: [id1,id2,id3])
私の質問: arrayに少なくとも 要素がある要素を照会する方法はありますか?n
少なくとも2つのIDを共有するものItem.at_least(tag_ids: [id1,id2,id3], n: 2)
を返すようなものをクエリしたいItem
[id1,id2,id3]
ありがとう !