問題タブ [mongoid3]

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

ruby - アップサート/モンゴイド/モペットでプッシュする方法

Mongoid(v3)を使用してMongoDBにアクセスしており、次のアクションを実行したいと思います。

これはmongoシェルで正常に機能します。これは、私が頻繁に呼び出すことになるので、私にとって重要な単一の不可分操作であるため、まさに私が望んでいることでもあります。フェッチと更新の2つの操作を実行する必要はありません。私はmongoidを介してたくさんのことを試しましたが、それを機能させることができません。

どうすればMongoIDを邪魔にならないようにして、このコマンドをMongoDBに送信できますか?Mopedレベルでこれを行う方法があると思いますが、そのライブラリのドキュメントは基本的に存在しません。

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

mongoid - Mongoid 3 gem の依存関係

Mongoid gem を 3.0 にアップグレードして、新しい機能を取得するために activeadmin-mongoid をアップグレードしたいと考えています。

ただし、私の mongoid-mapreduce gem は 2.0 に依存しています。これを回避する方法はありますか?mongoid-mapreduce が mongoid 3.0 でも動作するかどうかを確認する方法はありますか?

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

ruby-on-rails - has_many関係を持つmongoid

私は3つのモデルを持っています

City.rb

Place.rb

そして、確認したい属性状態のレビュー。

Review.rb

City.find( "somecity")。placesを呼び出せるようにしたいと思います

また、すべての場所を表示する代わりに、デフォルトのスコープを置き換えて、「公開済み」の状態のレビューがある場所のみを検索します

activerecordでは...

mongoidでこれを行う方法はありますか、または私の2番目のオプションは、レビューが公開されるたびにアクティブに設定される場所に新しい属性を組み込むことです。

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

ruby-on-rails - mongoid は has_many リレーションをembeds_many に変換します

私はしばらく前に初心者とmongodbの初期の間違いを犯し、それらを埋め込むべきときに多くのhas_many関係を作成しました。

私の質問は、レコードを多態的な has_many シナリオからembeds_many に変換するにはどうすればよいですか?

へ =>

私は通常、すべてのレコードを反復してそのように実行しますが、名前付けが問題になると思います。したがって、一時的なモデルを作成するという短い方法をどのように達成できるかわかりませんが、他の何人かが同じ間違いを犯し、おそらく穏やかな解決策を持っていることを願っていますか?

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

ruby-on-rails - ActiveAdmin および Mongoid 3.x でカスタム フィールド (配列) を保存できない

配列[lng、lat]であるフィールド「場所」があります。

次のように定義された ActiveAdmin フォームに 2 つの入力フィールドがあります。

緯度と経度を取得するために、モデルに 2 つのゲッターを定義しました。

フォームは期待どおりに表示されます。

これらの値を保存するために、モデルに 2 つのセッターを作成しました

フォームの送信後、これらのメソッドが呼び出されますが、値は保持されません。

私は何かが恋しいですか?

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

ruby-on-rails-3 - Mongoid、Heroku、Device、MongoHQ、Rails での MongoDB エラー

現在herokuにデプロイされている単純なアプリに取り組んでいます.mongoid、deviceを使用しており、localhostでユーザーログインを非常に簡単に作成できますが、herokuでは本番環境では作成できません. アカウントを作成しようとすると、送信後にエラーが発生します。

本番用の mongoid.yml を変更する必要があると思いますが、方法がわかりません。

heroku configは次のものを持っています:

mongoid.yml には、heroku で提案されているように次のものがあります。

私のgemfileには次のものがあります:

git push heroku masterそれは私に次のヒントを与えた後:

0 投票する
0 に答える
160 参照

ruby-on-rails-3 - Heroku アプリ - デバイスと mongoid、monghq でログインできない

herokuにデプロイされたシンプルなデバイス、モンゴイド、モンゴHQ、レールベースのアプリがあります。ユーザーのログインでエラーが発生します。

宝石ファイル:

heroku ログは次のとおりです。

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

heroku - 指定された Ruby 1.9.3 を使用していない Heroku

Mongoid 3 と Ruby 1.9.3 へのアップグレード。Heroku Cedar スタックで Ruby 1.9.3 を使用しようとしています。Gemfile の先頭に以下を追加しました。

HerokuにPushしてみると、うまくいっているようでした

-----> Heroku 受信プッシュ
-----> Ruby/Rails アプリが検出されました
-----> Ruby バージョンを使用: ruby​​-1.9.3
-----> Bundler バージョン 1.2.0 を使用して依存関係をインストールします。 rc.2

ただし、Ruby 1.9.3 が必要なため、私のアプリは壊れています。エラーは次のようになります。

TypeError: can't convert Array to String
from /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in initialize' getaddrinfo'
from /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in

ここで提案されているように、私のパスには最初にビンがあります

パス => bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin

何が間違っている可能性がありますか?

アップデート:

Mongoid.yml

Heroku プッシュ出力:

サーバーのログ:

/app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in getaddrinfo' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in initialize' /app/vendor/bundle/ruby/1.9.1/gems/moped -1.2.0/lib/moped/cluster.rb:53: new' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53:in ブロック内の初期化' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53 : map' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53:in 初期化中' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/session.rb:183 :new' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/session.rb:183:in 初期化中' /app/vendor/bundle/ruby/1.9.1 /gems/mongoid-3.0.4/lib/mongoid/sessions/factory.rb:64:in new' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions/factory.rb:64:in create_session' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions /factory.rb:43: default' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:109:in デフォルトで' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:378:mongo_session __session__' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:213:in で' /app/vendor/bundle /ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb: 157:インチcollection' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual/mongo.rb:217:in initialize' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:47:in new' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:47:in create_context' /app/vendor/bundle/ruby/1.9.1/gems /mongoid-3.0.4/lib/mongoid/contextual.rb:30: context' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:18:in 個別に' /app/app/controllers/my_controller.rb:14:send_action index' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/implicit_render.rb:4:in ' /app/vendor/bundle/ruby/1.9.1/gems /actionpack-3.2.3/lib/abstract_controller/base.rb:167:in process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/rendering.rb:10:in process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:18 :block in process_action' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:436:in 実行中 _647889395514353966__process_action_ 2178726499830545563 _callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in __run_callback' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in _run_process_action_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in run_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:17:inprocess_action' /app/vendor/bundle/ruby/1.9.1/gems /actionpack-3.2.3/lib/action_controller/metal/rescue.rb:29:in process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:30:in block in process_action' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications .rb:123: block in instrument' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications/instrumenter.rb:20:in instrument' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:in instrument' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:29:in process_action' /app/vendor/bundle/ruby /1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:205:in process_action' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/railties/controller_runtime.rb:18:in process_action' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib /new_relic/agent/instrumentation/rails3/action_controller.rb:34:in block in process_action' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:262:in perform_action_with_newrelic_trace 内のブロック' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/method_tracer.rb:242:perform_action_with_newrelic_trace trace_execution_scoped' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:257:in ' /app/vendor/bundle/ruby/1.9 内.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/rails3/action_controller.rb:33: process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/base.rb:121:in 処理中' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3 /lib/abstract_controller/rendering.rb:45:in process' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal.rb:203:in dispatch' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/rack_delegation.rb:14:in dispatch' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal.rb:246:in block inアクション' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73: call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73:in ディスパッチ中' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:36:in call' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:68:in 呼び出し中のブロック' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56: each' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in 呼び出し中' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:600: call' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/strategy.rb:168:in 呼び出し中!' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/strategy.rb:148:in call' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/builder.rb:42:in call' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm -3.4.1/lib/new_relic/rack/browser_monitoring.rb:12:in call' /app/vendor/bundle/ruby/1.9.1/gems/exceptional-2.0.32/lib/exceptional/integration/rack_rails.rb:13:in call' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/rack/mongoid/middleware/identity_map .rb:33:in block in call' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/unit_of_work.rb:39:in unit_of_work' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/rack/mongoid/middleware/identity_map.rb:33:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/best_standards_support.rb:17:in call' /app/vendor /bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/etag.rb:23:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/conditionalget.rb:25:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/head.rb:14:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/params_parser.rb:21:in call' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/middleware/flash.rb:242:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in context' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session /abstract/id.rb:200: call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/cookies.rb:338:in 呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/query_cache.rb:64: call' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:467:in 呼び出し中' /app/vendor /bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:28:in block in call' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in run _2458689492548881573_ call _1062142932397414625__callbacks' /app/vendor/bundle/ruby/1.9.1/gems/ activesupport-3.2.3/lib/active_support/callbacks.rb:405:in __run_callback' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in _run_call_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in run_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:27:in call' /app/vendor/bundle/ruby/1.9.1/gems /rack-1.4.1/lib/rack/sendfile.rb:102:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/remote_ip.rb:31:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/debug_exceptions.rb :16: call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/show_exceptions.rb:56:in 呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/logger.rb:26 :call_app' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/logger.rb:16:in 呼び出し中' /app/vendor/bundle/ruby /1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/request_id.rb:22:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib /rack/runtime.rb:17: call' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache/strategy/local_cache.rb:72:in 呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb:15:in call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:62:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in forward' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in fetch' /app/vendor/bundle/ruby/1.9.1 /gems/rack-cache-1.2/lib/rack/cache/context.rb:185: lookup' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in 呼び出し中!' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in call' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:479:in call' /app/vendor/bundle/ruby/1.9.1/gems /railties-3.2.3/lib/rails/application.rb:220:in call' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in method_missing' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/rack/developer_mode.rb :24:in call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/content_length.rb:14:in call' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/log_tailer.rb:14:in call' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:80:in block in pre_process' /app/vendor/bundle /ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in catch' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in pre_process' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:53:in process' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:38:in receive_data' /app/vendor/bundle/ruby/1.9.1/gems /eventmachine-0.12.10/lib/eventmachine.rb:256: run_machine' /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in 実行中' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/backends/base.rb:63 : start' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/server.rb:159:in 起動中' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/thin.rb:13 :run' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:265:in 起動中' /app/vendor/bundle/ruby/1.9 .1/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in start' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in block in ' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/ rails/commands.rb:50:in tap' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in ' script/rails:6:in require' script/rails:6:in '

0 投票する
4 に答える
4554 参照

mongoid - Mongoidでmongoコレクションの名前を変更するにはどうすればよいですか?

Artistsというコレクションがあります。名前をartist_lookupsに変更したいと思います。どうすればよいですか?

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

ruby-on-rails - 宝石からMongoid::Documentに機能を追加する方法は?

モデルにいくつかの機能を追加するgemを作成したいと思います。Mongoidモデルのカスタムキーワードを定義するにはどうすればよいですか?例えば: