sql >> データベース >  >> NoSQL >> MongoDB

RailsとMongoidを使用した動的属性

    Mongoidはダイナミックフィールドをサポートするようになりました。それらのドキュメントはここにあります:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields

    基本的に、ドキュメントに存在しなかったフィールドにgetterメソッドとsetterメソッドを使用しようとすると、メソッドエラーが発生しないため、動的フィールドの設定方法に少し注意する必要があることを警告します。

    []、[] =はread_attribute()、write_attribute()のショートカットであり、dynamic_attributes = trueを設定しない場合に使用する必要があります ./config/mongoid.yml file 、それ以外の場合は、メソッドエラーは発生しません。

    allow_dynamic_fields: trueの設定 コードのバグが原因で意図しないフィールドでデータ/スキーマを汚染する可能性があるため、リスクが伴う可能性があります。これをfalseに設定する方がおそらく安全です 明示的に[]、[] =

    を使用します
    # Raise a NoMethodError if value isn't set.
    person.gender
    person.gender = "Male"
    
    # Retrieve a dynamic field safely.
    person[:gender]
    person.read_attribute(:gender)
    
    # Write a dynamic field safely.
    person[:gender] = "Male"
    person.write_attribute(:gender, "Male")
    


    1. コマンドプロンプトでRedisのキーと値を取得する

    2. Redisサーバーは1024Mを超えるmaxheapを実行できません

    3. 既存のプロセスを監視するための神の構成ファイル?

    4. mongodb.conf bind_ip =127.0.0.1は機能しませんが、0.0.0.0は機能します