sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan registreres ClassMap for alle klasser i et navneområde for MongoDb?

Du behøver ikke skrive BsonClassMap.RegisterClassMap<MyClass>(); , fordi alle klasser vil blive automappet som standard.

Du skal bruge RegisterClassMap når du har brug for tilpasset serialisering:

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

Du kan også bruge attributter til at oprette administrere serialisering (det ser ud til at være mere indbygget for mig):

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

Du kan også oprette globale regler, der bruges under automapping, som denne:

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

Jeg bruger kun attributter og konventioner til at styre serialiseringsprocessen.

Håber dette hjælper.



  1. Scan strenge ved hjælp af nodejs i redis

  2. Kan ikke bruge Mongodb distinct i Nodejs

  3. Docker&Celery - FEJL:Pidfile (celerybeat.pid) findes allerede

  4. Minimongo understøtter endnu ikke $-operatør i projektioner