sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik detecteren of een mongodb-serializer al is geregistreerd?

TL;DR: Als je lui bent, gebruik dan BsonSerializer.LookupSerializer of BsonMemberMap.GetSerializer . Om het goed te doen , zorg ervoor dat de registratiecode één keer wordt aangeroepen .

De beste manier om dit te voorkomen, is ervoor te zorgen dat de serializer slechts één keer wordt geregistreerd. Het is een goed idee om een ​​globale opstartcode te hebben die alles wat globaal is voor de toepassing één keer en slechts één keer registreert. Dat omvat zaken als de configuratie van de afhankelijkheidsinjector, tools zoals automapper en de mongodb-driver. Als je deze code maar één keer en vanaf één punt in de code aanroept, hoef je je geen zorgen te maken over threadveiligheid, deadlocks of soortgelijke problemen.

De configuratie-instellingen van het MongoDB-stuurprogramma zijn thread-safe, maar ga er niet vanuit dat dit geldt voor alle softwarepakketten die u mogelijk moet configureren. Vergrendelen kan ook erg duur zijn qua prestaties als uw code multi-threaded is, bijvoorbeeld in een webapplicatie. Last but not least, die zoekopdracht die u doet, is misschien niet triviaal, omdat sommige methoden een hele overervingsboom moeten doorlopen.



  1. Beantwoord hoofdinformatie en voeg extractarray toe aan hetzelfde resultaat

  2. Hoe Redis-sleutels in serie met Java te repareren

  3. Tijdelijke fout in herdistributie van naam

  4. Hoe gebruik je aggregatie voor MongoDB om te filteren op $ en/$or?