問題タブ [mongodb-ruby]
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 - Mongo データベースに Ruby オブジェクトの配列を挿入する
だから、私は Ruby MongoDB ドライバーを使用しており、次のように挿入してオブジェクトを作成したいと考えています。
@board は Board クラスのインスタンスです。
とタイル
最後に、「タイル」フィールドは次のようになります。
次のエラーが表示されます。
私が使用している宝石: 'sinatra'、'mongo (2.0.4)'、および 'bson_ext' (すべて Bundler.require を使用して必要です)。ありがとう!
mongodb - mongodb クラスター内の複数の mongos インスタンス間の負荷分散
私はいくつかのmongosインスタンスを持っています。ruby と node.js アプリケーションがあります。すべての mongos インスタンスのホストを mongodb 接続 URI に配置できます。ruby および node.js ドライバーはフェイルオーバーを処理できます。しかし、2 つのドライバーは複数の mongos インスタンス間でバランスを取ることができますか? ドキュメントが、各アプリケーションを 1 つの mongos インスタンスのみに作成するように提案している理由。Besize カーソルの問題です。他の理由はありますか? では、複数の mongos ホストを 1 つの URI に入れることはできますか?
本番環境で複数の mongos インスタンス用にスタンドアロンのロード バランサーをセットアップする例はありますか?
mongodb - MongoDB (Ruby) で 1 行のデータを更新する方法
mongodb を使用してデータを挿入するための以下のコードがある場合、その値を更新するにはどうすればよいですか。update_one/update_many 関数の引数の設定と混同しています。
更新機能を実行できませんでした。助けてください!
ruby-on-rails - Ruby Mongo ドライバー プロジェクション Elemmatch
http://www.w3resource.com/mongodb/mongodb-elemmatch-projection-operators.phpのコードに従って、ruby mongodb ドライバーを使用してテスト データベースをセットアップしました。
自宅でフォローしている人は、最初にhttps://docs.mongodb.com/ecosystem/tutorial/ruby-driver-tutorial/#creating-a-clientで説明されているように mongo ドライバーをインストールしてから、次のコマンドを実行する必要があります。 .
client = Mongo::Client.new([ '127.0.0.1:27017'], :データベース => 'mydb')
テスト = クライアント['テスト']
doc = { "_id" => 1, "バッチ" =>10452, "tran_details" =>[ { "qty" =>200, "prate" =>50, "mrp" =>70 }, { "qty" =>250, "prate" =>50, "mrp" =>60 }, { "qty" =>190, "prate" =>55, "mrp" =>75 } ] }
test.insert_one(ドキュメント)
w3 チュートリアルで作成されたさまざまなドキュメントをすべて挿入します。
w3 チュートリアルの例 2 を見ると、翻訳された ruby find は次のようになります。
test.find({"バッチ" => 10452}).projection({"tran_details" => {"$elemMatch" => {"prate" => 50, "mrp" => {"$gte" => 70 }}}}).to_a
例と同じ結果を返します。
=> [{"_id"=>1, "tran_details"=>[{"qty"=>200, "prate"=>50, "mrp"=>70}]}, {"_id"=>3} , {"_id"=>4}]
私の問題は、返されるフィールドを指定しながら、上記の制約 (mrp gte 70 など) で結果を制約したいということです。
たとえば、mrp gte 70 を持つ tran_details のみを制約しますが、返される結果には prate フィールド (またはフィールドの任意のサブセット) のみが含まれます。
クエリで prate フィールドのみを返すことができます。
test.find({"バッチ" => 10452}).projection({"tran_details.prate" => 1}).to_a
2 つの異なるプロジェクションの効果を組み合わせたいのですが、それをオンラインで行う方法に関するドキュメントは見たことがありません。2 つのプロジェクションを互いにつなげると、最終的なプロジェクションだけが効果を発揮します。
ruby - Mongo::Collection::View のサイズを調べる
MongoDB と Ruby でクエリの結果のサイズを見つけようとしています。
ただし、これを実行すると、次のエラーが発生します。
このクエリによって返されるアイテムの数を正しく判断するにはどうすればよいですか? ドキュメントに情報が見つかりませんでした。