私はMongoDBとMongoidを使用するRailsアプリ内で作業しています。mongoシェル環境を使用してmongoクエリを実行できますが、irbでMongoidを試してみたいと思います。それは私にできることですか?もしそうなら、誰かが私に方法を教えてもらえますか?
ありがとう :)
私はMongoDBとMongoidを使用するRailsアプリ内で作業しています。mongoシェル環境を使用してmongoクエリを実行できますが、irbでMongoidを試してみたいと思います。それは私にできることですか?もしそうなら、誰かが私に方法を教えてもらえますか?
ありがとう :)
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?
プロジェクトで事前構成済みの Rails コンソールを起動することもできます。
$ rails console
>> MyDocument.where(:foo => 'bar').to_a
=> [...]