MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để buộc mongo lưu trữ các thành viên ở dạng chữ thường?

Để sử dụng IMemeberMapConvention, bạn phải đảm bảo khai báo các quy ước của mình trước khi quá trình ánh xạ diễn ra. Hoặc tùy chọn bỏ các ánh xạ hiện có và tạo các ánh xạ mới.

Ví dụ:sau đây là thứ tự đúng để áp dụng quy ước:

        // first: create the conventions
        var myConventions = new ConventionPack();
        myConventions.Add(new FooConvention());

        ConventionRegistry.Register(
           "My Custom Conventions",
           myConventions,
           t => true);

        // only then apply the mapping
        BsonClassMap.RegisterClassMap<Foo>(cm =>
        {
            cm.AutoMap();
        });

        // finally save 
        collection.RemoveAll();
        collection.InsertBatch(new Foo[]
                               {
                                   new Foo() {Text = "Hello world!"},
                                   new Foo() {Text = "Hello world!"},
                                   new Foo() {Text = "Hello world!"},
                               });

Đây là cách quy ước mẫu này được xác định:

public class FooConvention : IMemberMapConvention

    private string _name = "FooConvention";

    #region Implementation of IConvention

    public string Name
    {
        get { return _name; }
        private set { _name = value; }
    }

    public void Apply(BsonMemberMap memberMap)
    {
        if (memberMap.MemberName == "Text")
        {
            memberMap.SetElementName("NotText");
        }
    }

    #endregion
}

Đây là những kết quả được đưa ra khi tôi chạy mẫu này. Bạn có thể thấy thuộc tính Văn bản đã được lưu dưới dạng "NotText":



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Con trỏ và đếm tổng hợp Mongo

  2. MongoDB $ toLower

  3. Ràng buộc phản hồi máy chủ động (json lồng nhau)

  4. Cập nhật một khóa / giá trị cụ thể bên trong một trường mảng với MongoDB

  5. 5 lợi ích hàng đầu của Shared MongoDB Hosting