2

私はMongoDBとMongoidを使用するRailsアプリ内で作業しています。mongoシェル環境を使用してmongoクエリを実行できますが、irbでMongoidを試してみたいと思います。それは私にできることですか?もしそうなら、誰かが私に方法を教えてもらえますか?

ありがとう :)

4

3 に答える 3

5

Semyon が述べたように、最も簡単なオプションは次を使用することです。

$ rails console

手動で実行したい場合は、irb を実行し、必要な環境 (おそらく開発環境) を先頭に追加します。

例えば/

$ RACK_ENV=development irb

次に、mongoid gem を要求し、mongoid 構成をロードすると、Mongoid を使用できるようになります。また、使用したいモデルを要求する必要があります。

例えば/

> require 'mongoid'

> Mongoid.load!("path/to/your/mongoid.yml")

ところで。irb ではなく pry を使用することをお勧めします。これは irb に似ていますが、端末を離れることなくさまざまなことを見つけることができます

例えば/

ランニング

> ls Mongoid

可能なすべての定数、 Mongoidのクラスとインスタンス メソッドを表示します

constants: Atomic  Attributes  Callbacks  Collection  Collections  Components  Config  Contexts  Copyable  Criteria  Criterion  Cursor  DefaultScope  Dirty  Document  Errors  Extensions  Extras  Factory  Fields  Finders  Hierarchy  Identity  IdentityMap  Indexes  Inspection  Javascript  JSON  Keys  Logger  Matchers  MONGODB_VERSION  MultiDatabase  MultiParameterAttributes  NamedScope  NestedAttributes  Observer  Paranoia  Persistence  Relations  Reloading  Safety  Scope  Serialization  Sharding  State  Threaded  Timestamps  Validations  VERSION  Versioning
Mongoid#methods: add_language  add_observer  allow_dynamic_fields  allow_dynamic_fields=  allow_dynamic_fields?  autocreate_indexes  autocreate_indexes=  autocreate_indexes?  blacklisted_options  config  configure  count_observers  database  database=  databases  databases=  default_logger  destructive_fields  from_hash  identity_map_enabled  identity_map_enabled=  identity_map_enabled?  include_root_in_json  include_root_in_json=  include_root_in_json?  include_type_for_serialization  include_type_for_serialization=  include_type_for_serialization?  instantiate_observers  load!  logger  logger=  master  master=  max_retries_on_connection_failure  max_retries_on_connection_failure=  max_retries_on_connection_failure?  notify_observers  observer_instances  observers  observers=  parameterize_keys  parameterize_keys=  parameterize_keys?  persist_in_safe_mode  persist_in_safe_mode=  persist_in_safe_mode?  preload_models  preload_models=  preload_models?  purge!  raise_not_found_error  raise_not_found_error=  raise_not_found_error?  reconnect!  scope_overwrite_exception  scope_overwrite_exception=  scope_overwrite_exception?  skip_version_check  skip_version_check=  skip_version_check?  time_zone  time_zone=  time_zone?  unit_of_work  use_activesupport_time_zone  use_activesupport_time_zone=  use_activesupport_time_zone?  use_utc  use_utc=  use_utc?
Mongoid#methods: add_language  add_observer  allow_dynamic_fields  allow_dynamic_fields=  allow_dynamic_fields?  autocreate_indexes  autocreate_indexes=  autocreate_indexes?  blacklisted_options  config  configure  count_observers  database  database=  databases  databases=  default_logger  destructive_fields  from_hash  identity_map_enabled  identity_map_enabled=  identity_map_enabled?  include_root_in_json  include_root_in_json=  include_root_in_json?  include_type_for_serialization  include_type_for_serialization=  include_type_for_serialization?  instantiate_observers  load!  logger  logger=  master  master=  max_retries_on_connection_failure  max_retries_on_connection_failure=  max_retries_on_connection_failure?  notify_observers  observer_instances  observers  observers=  parameterize_keys  parameterize_keys=  parameterize_keys?  persist_in_safe_mode  persist_in_safe_mode=  persist_in_safe_mode?  preload_models  preload_models=  preload_models?  purge!  raise_not_found_error  raise_not_found_error=  raise_not_found_error?  reconnect!  scope_overwrite_exception  scope_overwrite_exception=  scope_overwrite_exception?  skip_version_check  skip_version_check=  skip_version_check?  time_zone  time_zone=  time_zone?  unit_of_work  use_activesupport_time_zone  use_activesupport_time_zone=  use_activesupport_time_zone?  use_utc  use_utc=  use_utc?
于 2012-07-04T20:51:17.210 に答える
3

プロジェクトで事前構成済みの Rails コンソールを起動することもできます。

$ rails console
>> MyDocument.where(:foo => 'bar').to_a
=> [...]
于 2012-07-04T21:02:46.800 に答える