問題タブ [mongomapper]

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 投票する
2 に答える
3275 参照

mongodb - MongoDB(および一般的なNoSQL)とそれを最大限に活用する方法を理解する

私がやりたい次のプロジェクトは、NoSQLソリューションでうまくいくと思い始めています。このプロジェクトには、従来のSQLデータベースで動的に生成された列を使用した大量の2列テーブルまたは大量の動的クエリが含まれます。ですから、NoSQLデータベースの方がはるかにクリーンだと思います。

私はMongoDBを見ていますが、かなり有望に見えます。とにかく、私はそれをすべて理解しようとしています。また、RubyでMongoMapperを使用します。

とにかく、私はそのような自由形式のデータベースで物事をレイアウトする方法について混乱しています。私はNoSQLのベストプラクティスを読みましたが、そこでの答えは、正規化は通常NoSQLDBでは悪いことだと言っています。では、ユーザー、投稿、コメントを含む簡単なブログをレイアウトするための最良の方法はどのようになりますか?

私の自然な考えは、それぞれに3つのコレクションを用意し、それらを一意のIDでリンクすることでした。しかし、これは明らかに間違っていますか?それで、そのようなものをレイアウトする方法のいくつかは何ですか?他の質問での答えに対する私の懸念は、作者の名前が変わったらどうなるかということです。大量の投稿やコメントを更新する必要があります。しかし、これはNoSQLで大丈夫ですか?

0 投票する
3 に答える
7441 参照

ruby-on-rails - Railsでmongodbと従来のdbを混在させるには?

Rails アプリケーションの一部に MongoDB (mongo-mapper) を使用することを検討しています。従来の DB に依存する有用な gem が多すぎるため、MongoDB を独り占めする準備ができていません。

そうは言っても、私のアプリケーションには、ドキュメント データベースを活用するのに最適な部分があります。

2 つのアプローチの混合に成功した人はいますか? Activerecord モデルを mongomapper モデルにどのようにリンクしますか?

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

ruby-on-rails - MongoDB 埋め込みドキュメント / Rails を使用したドキュメント

私は最近、MongoMapper gem を使用して、MongoDB on Rails をいじり始めました。クラス/オブジェクト/コレクションをドキュメントと埋め込みドキュメントの両方にする何らかの方法があるかどうか疑問に思っていました。同じエンティティを他のドキュメントに含めたり埋め込んだり、オブジェクトとして単独で存在できるようにしたいです。

これは可能ですか?この問題に間違った方法で取り組んでいますか? 現在、Web 上のリソースはこの件については少ないように思われるため、ディスカッションやアドバイスをいただければ幸いです。

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

ruby-on-rails - RubyOnRailsおよびMongomapperプラグインでのMongoDBの使用

私は長年のPHP開発者であるため、現在Ruby On Railsを学習しようとしています。そのため、ページのような独自のコミュニティを構築しています。

私はかなり遠くまで来て、MySQLを使用してユーザーモデルなどを作成しました。

しかし、それから私はMongoDBのことを聞いて、もう少し調べてみると、それはちょっといいと思います。

だから私はそれを設定し、レールとMongoDB間の接続にmongomapperを使用しています。

現在、サイトのニュースページに使用しています。

また、すべてのユーザーのプロファイルページがあり、他のユーザーが自分のプロファイルにアクセスして小さなメッセージを書くことができるように、自分のゲストブックが含まれています。

私の考えは、ユーザーモデルをMySQLの使用からMongoDBの使用を開始するように変更することです。

まず、各ユーザーのモデルがどのように設定されているかを示します。

ユーザーモデル:

ゲストブックモデルモデル:

そして、ゲストブックの投稿モデル:

自分の都合でこのように分割しましたが、MongoDBに移行しようとすると、テーブルの作成方法がわかりません。

MongoDBにはEmbeddedDocumentを含めることができるため、ユーザーごとに1つのテーブルを作成し、そのテーブルにすべてのゲストブックエントリの「列」を作成したいと思います。これを実行したいので、ユーザーごとに1つのテーブルしかありませんが、ゲストブックを作成するためだけに3つのテーブルがある場合は、今は好きではありません。

だから私の考えはこのようにすることです:

ユーザーモデル:

ゲストブックモデルモデル:

そして、ゲストブックの投稿モデル:

しかし、1つの問題が考えられます。ニックネームや誕生日などのユーザー情報を取得するだけの場合は、すべてのユーザーのゲストブックの投稿を取得する必要があります。そして、各ユーザーがゲストブックに1000の投稿を持っている場合、システムのために取得するのは非常に多くなります。それとも私は間違っていますか?

他の方法でやるべきだと思いますか?

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

ruby-on-rails - MongoMapper を使用した Rails と MongoDB

Rails開発は初めてで、MongoDBも始めています。

Rails を使用した複雑なフォームに関するこのRailscastチュートリアルに従っていますが、データベースとして MongoDB を使用しています。子を持つドキュメントを挿入し、編集フォームにデータを取得するのに問題はありませんが、更新しようとするとこのエラーが発生します

false:FalseClass の未定義メソッド `assert_valid_keys'

これは私のエンティティクラスです

終了 終了

ここで何が起こっているか知っている人はいますか?ありがとう

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

ruby-on-rails - Mongomapper - ブートストラップ手法

モデルにmongomapperを使用してRailsアプリケーションの作成を始めたところです。アプリをブートストラップするためにどのソリューションを使用すべきか疑問に思っています。

私のこれまでの経験はすべて ActiveRecord と PostgreSQL に関するもので、ブートストラップにいくつかの gem を使用しました。私が一番気に入ったのは、bootstrapper (+ factorygirl + faker ) でした。

これらがmongomapperで問題なく動作するかどうかを知っている人はいますか? 誰かがより良い代替案を提案できますか? mongodb をブートストラップするときに知っておくべき明らかなことはありますか?

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

ruby-on-rails - mongo_mapper+Railsでレコードごとに個別のキーを設定する方法

mongodbにレコードを追加するときは、必要なキーを指定でき、データベースに保存されます。問題は、次に別のレコードを挿入するときに、それらのキーが記憶されることです。たとえば、次のようにすると、次のようになります。

その後

:foo => nil2枚目のレコードでフィールドを取得します。

これは間違いなくmongodb自体の制限ではありません。これは、railsコンソールを再起動して、異なる列のセットでさらに別のレコードを作成すると、最初の2つのレコードの列が追加されないためです。

したがって、mongomapperは使用されたすべてのキーを記憶し、値が指定されていない場合でも、それらすべてすべてのレコードに挿入するようです。

問題は明らかにです:このクレイジーな属性の爆発を無効にするにはどうすればよいですか?

基本的に、モデルで指定する「永続的な」キーのみをすべてのレコードに含める必要がありますが、すべての「余分な」属性はレコードごとに指定し、結果のレコードを混乱させないようにします。

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

ruby-on-rails - MongoDB、mongomapperに頭を包み、参加します

私はMongoDBを初めて使用し、RDBMSを何年も使用しています。

とにかく、私が次のコレクションを持っているとしましょう:

全米リアルター協会加入者が家や不動産をブックマークできるようにしたいと思います。家とプロパティはスタンドアロンであり、不動産業者やブックマークについては何も知らないことに注意してください。ブックマークをMySQLの「結合テーブル」のようなものにしたいと思います。

家/プロパティは別のソースからのものであるため、変更することはできません。

Railsでこれを実行できるようにしたいと思います。

r = Realtor.first r.bookmarksは私に与えるでしょう:

House1 House2PropertyABCPropertyOO1など..

何千もの家と財産があります。

これがRDBMSの目的であることに気づきました。しかし、私がMongoDBを使用している理由はいくつかあるので、これを機能させたいと思います。

このようなことを行う方法についての提案をいただければ幸いです。

ありがとう!

0 投票する
6 に答える
9289 参照

ruby-on-rails - MongoMapper と bson_ext の問題

Rails アプリで MongoMapper を動作させることができません。次のエラー メッセージが表示されます。

**注意: C 拡張機能がロードされていません。これは、MongoDB Ruby ドライバーのパフォーマンスを最適化するために必要です。拡張機能は次のようにインストールできます: gem install bson_ext

インストール後もこのメッセージが引き続き表示される場合は、bson_ext gem がロード パスにあり、bson_ext と mongo gem が同じバージョンであることを確認してください。

DevKit をインストールし、gem をインストールしました: gem install bson_ext --no-rdoc --no-ri (結果: bson_ext-1.0.1 installed)

Windows 7 で実行しています。Rails のバージョンは 2.3.7 です。インストールには RubyInstaller を使用しました。誰かが私を正しい方向に向けることができますか?

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

ruby-on-rails - Mongomapper - shoulda on rails 2.3.5 を使用した単体テスト

mongomapper を使用して、Rails 2.3.5 アプリに shoulda 単体テストを実装しようとしています。

これまでのところ:

  1. mongomapper を使用する Rails アプリを構成しました (アプリは動作します)
  2. 私の宝石にshouldaを追加し、それをインストールしましたrake gems:install
  3. config.frameworks -= [ :active_record, :active_resource] を追加したconfig/environment.rbのでActiveRecord使用しません。

私のモデルは次のようになります。

そのモデルの私のテストはこれです:

最初に失敗しますshould_belong_to

これが機能しない理由はありますか?shouldaとは違うものを試してみるべきですか?

shoulda を使用するのはこれが初めてであり、それ自体をテストするのはかなり新しいことを指摘しなければなりません。