sql >> Database >  >> NoSQL >> MongoDB

Hoe te RegisterClassMap voor alle klassen in een naamruimte voor MongoDb?

U hoeft niet te schrijven BsonClassMap.RegisterClassMap<MyClass>(); , omdat alle klassen standaard automatisch worden toegewezen.

Gebruik RegisterClassMap wanneer u aangepaste serialisatie nodig heeft:

 BsonClassMap.RegisterClassMap<MyClass>(cm => {
        cm.AutoMap();
        cm.SetIdMember(cm.GetMemberMap(c => c.SomeProperty));
    });

Je kunt ook attributen gebruiken om serialisatie te beheren (het lijkt meer native voor mij):

[BsonId] // mark property as _id
[BsonElement("SomeAnotherName", Order = 1)] //set property name , order
[BsonIgnoreExtraElements] // ignore extra elements during deserialization
[BsonIgnore] // ignore property on insert

U kunt ook algemene regels maken die worden gebruikt tijdens automapping, zoals deze:

var myConventions = new ConventionProfile();
myConventions.SetIdMemberConvention(new NoDefaultPropertyIdConvention());
BsonClassMap.RegisterConventions(myConventions, t => true);

Ik gebruik alleen attributen en conventies om het serialisatieproces te beheren.

Ik hoop dat dit helpt.



  1. MongoDB limiet opslaggrootte?

  2. hoe kan ik oneindig doorgeven aan redis van python?

  3. Groeperen op verschillende velden

  4. mangoest verbinding connectTimeoutMS