問題タブ [mongoid]

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 に答える
837 参照

ruby-on-rails-3 - Rails 3 RC、Mongoid、Recaptcha、RSpec で保護された「拒否」メソッドを起動する

私はレール(特にレール3)に少し慣れていないので、ご容赦ください。これにはちょっと困惑しています。基本的に、RSpec を使用して自分のアプリケーションで CustomersController をテストしたいと考えています。コントローラーで作成アクションへのポストを実行しようとしてスペックを実行すると、次のエラーが発生します。理由はわかりません。

申し訳ありませんが、従うべきコードがたくさんあります。まずは私の宝石です。

これで、CustomersController次のように定義されました。

これが私の顧客モデルです:

最後に、ここに私の仕様があります:

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

ruby-on-rails - どのようにmongodbを称賛するか'が含まれていますか?' ファインダー状態

私はMongoidを使用しており、プロジェクトとユーザーモデルがあります。プロジェクトモデルには、フィールドがあります

1つのプロジェクトに属するすべてのユーザーを見つけることができます。つまり、「このプロジェクトのユーザーを見つける」

しかし、1人のユーザーに属するすべてのプロジェクトを見つけるのに少し問題があります。つまり、「このユーザーのプロジェクトを見つける」

Userモデルにproject_idsを格納するための別のフィールドを含めることができることは知っていますが、喜んでそうしますが、興味があるのは、#includesと同様に機能するファインダー条件で使用する方法がありますか?ルビーで?

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

mongodb - mongodbmapreduceが一貫性のない結果を返す

私は非常に単純なマップリデューステストを持っています...それは一貫して機能していません。一言で言えば、私は重複したレコードを探しています。私は次のようなコレクションを持っています:

GiftIdea-site_id-site_key

site_id + site_keyは一意である必要がありますが、現在は一意ではありません。だから私は次のマップリデュースコードを持っています:

この入力データを使用して:

GiftIdea
-site_id:amazon -site_key:2 -site_id:amazon -site_key:2
-site_id:amazon -site_key:1

だから私は得る必要があります:

amazon1 => 2 amazon2 => 1

これを実行するとどうなりますか

わかりました。すばらしいニュースです。3行を出力し、2行を出力しました。

amazon1 => 1.00000 amazon2 => 1.00000

私のログファイルには、次のものがあります。

8月28日土曜日13:22:50[conn582]CMD:personalizr_test.tmp.mr.mapreduce_1283016170_139をドロップ8月28日土曜日13:22:50 [conn582] CMD:personalizr_test.tmp.mr.mapreduce_1283016170_139_incをドロップ

キー:amazon1値:2 Sat Aug 28 13:22:50 [conn582] personalizr_test.tmp.mr.mapreduce_1283016170_139_inc Sat Aug 28 13:22:50 [conn582] Buildindexpersonalizr_test.tmpの{0:1}に新しいインデックスを作成します。 mr.mapreduce_1283016170_139_inc idxNo:0 {ns: "personalizr_test.tmp.mr.mapreduce_1283016170_139_inc"、キー:{0:1}、名前:"0_1"}土8月28日13:22:50[conn582]2レコード0秒土8月28日13:22:50[conn582]personalizr_test.tmp.mr.mapreduce_1283016170_139の{_id:1}に新しいインデックスを作成8月28日土曜日13:22:50 [conn582] Buildindex personalizr_test.tmp.mr.mapreduce_1283016170_139 idxNo:0 {名前: " id"、ns:" personalizr_test.tmp.mr.mapreduce_1283016170_139 "、key:{_id:1}} Sat Aug 28 13:22:50 [conn582] done for 0 records 0secs Key:amazon1 Values:1 Key:amazon2 Values:1 8月28日土曜日13:22:50[conn582]CMD:personalizr_test.tmp.mr.mapreduce_1283016170_139_incを削除8月28日土曜日13:22:50 [conn582] CMD:personalizr_testを削除。 [conn582]接続終了127.0.0.1:56135

1、2、1は、マップ機能が正しく機能していることを示します。これは正しい順序の正しい項目ですが、reduce関数は奇妙に見えます。amazon1のreduceを2回呼び出していますが、2回目は値が正しくありません。もう1つは、最初の呼び出しの後、mongoがインデックスを作成しているように見えることです。最初のデータを待って、データ形式がどうなるかを把握し、インデックスを適切に生成できるようになると思います。しかし、なぜ電話がかかってきたのかわかりません:キー:amazon1値:1電話

助言がありますか?

その他の興味深い情報:mongo 1.6.1 mongoid 2.0.0.beta16 bson 1.0.4 bson_ext 1.0.4

本当に独特なことの1つは、ttが実際のデータを含む別のデータベースで動作することです。

入力されたデータベースのレコードの1つは次のようになります。

そして、これが私のサンプルの1つです

提案?

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

ruby-on-rails-3 - Rails 3、MongoId & bson のバージョンの問題

Rails 3 final にアップデートしました。現在、MongoId、Mongo の Ruby ドライバー、および bson に問題があります。Rails を実行しようとすると、「You have already activate bson 1.0.7, but your Gemfile requires bson 1.0.4. Consider using bundle exec. (Gem::LoadError)」というメッセージが表示されます。

MongoId には bson_ext 1.0.4 が必要なので、Gemfile に gem "bson_ext", "1.0.4" があります。bson 1.0.7 をアンインストールしようとしましたが、Mongo Ruby ドライバーには bson >= 1.0.5 が必要なため、Rails が起動しませんでした。

どうすればこれを解決できるのでしょうか?

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

ruby-on-rails - params配列からMongoidを取得する

MongoID / Rails 3を使用して埋め込みドキュメントを含むルートドキュメントを見つけるには、次のようにクエリを実行する必要があります。

BSON :: ObjectIDを使用せずにクエリを実行する方法はありますか?

ありがとう!

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

ruby - Mongoid/activesupport のバージョンの問題

(Rails やその他のフレームワークではなく) プレーンな Ruby スクリプトから Mongoid を使用しようとしていますが、バージョン依存関係の競合が発生していると思います。

私のローカル Rails は既に 3.0.0 にアップグレードされています。エラーを正しく読むと、activesupport は < 3.0.pre である必要があり、3.0.0 は新しすぎるという要件がどこかにありますか?

これは、Rails 3.0 が新しく、Mongoid のどこかに、アップグレードが必要な 3.0.pre が定義された構成オプションがあるためでしょうか? どこでそれをしますか?

以前は古い Rails もインストールしていましたが、別のエラーが発生しました。

以前のアクティブ サポートをインストールした状態に戻った場合、新しいアクティブ サポートも影響を受けないようにするにはどうすればよいですか?

私はまだRubyに慣れていないので、答えを詳しく教えてください。

Simon の提案に従って Mongoid 2.0 ベータ版にアップグレードした後、bson が新しすぎるという新しい競合が発生しています。

bson 1.0.4 が既にロードされているのはなぜですか? 他の何かが明示的にロードしようとしていますか? この時点で、単純な .rb スクリプトに必要なのは ruby​​gems と mongoid だけです。

私が使用している関連性の高いすべての宝石は次のとおりです。

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

ruby-on-rails - Rails3.0ORMにとらわれない管理プラグイン

鉄道関係者の皆さん、ActiveScaffoldに相当するものを知っていますが、ORMにとらわれないか、少なくともMongoidについては知っていますか?

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

mongodb - Mongoid (Ruby on Rails の MongoDB マッパー) を使用して、Cat が Animal から継承する場合、型を設定する必要がありますか?

つまりapp/models/animal.rb

そして、app/models/cat.rb

次に、アニマルに何らかの「タイプ」を設定して、それが猫であることを覚えておく必要がありますか、それとも自動ですか?

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

ruby-on-rails - Mongoid (Ruby on Rails 用の MongoDB マッパー) を使用すると、s.save が true を返すのにレコードが更新されないのはなぜですか?

次のコードを 2 回実行すると、両方の回s.saveが true を返し、成功を示しますが、2 回目は時間が更新されませんか?

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

ruby-on-rails - ファイルの Carrierwave Mongoid 検証

Carrierwave がドキュメントを mongoid オブジェクトにアップロードしたことを検証する方法がわかりません。

私はドキュメントクラスを持っています

とアップローダ:

アップロードが存在すること、およびそれがホワイト リストと一致することを標準の検証エラーで検証したい

これはRails 2.3.8にあります