sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur upptäcker jag om en mongodb serializer redan är registrerad?

TL;DR: Om du är lat, använd BsonSerializer.LookupSerializer eller BsonMemberMap.GetSerializer . Att göra det rätt , se till att registreringskoden anropas en gång och bara en gång .

Det bästa sättet att undvika detta är att se till att serializern bara registreras en gång. Det är en bra idé att ha någon global startkod som registrerar allt som är globalt för applikationen en gång, och bara en gång. Det inkluderar saker som beroendeinjektorkonfiguration, verktyg som automapper och mongodb-drivrutinen. Om du bara ringer den här koden en gång och från en enda punkt i koden behöver du inte oroa dig för trådsäkerhet, blockeringslås eller liknande problem.

MongoDB-drivrutinens konfigurationsinställningar är trådsäkra, men anta inte att detta är sant för alla programvarupaket som du kan behöva konfigurera. Dessutom kan låsning vara mycket dyrt prestandamässigt om din kod är flertrådad, till exempel i en webbapplikation. Sist men inte minst, den uppslagningen du gör kanske inte är trivial i första hand, eftersom vissa metoder behöver gå ett helt arvsträd.



  1. Mongodb anslutningsfel genom docker i springboot

  2. MongoServer.State-motsvarighet i 2.0-drivrutinen

  3. Hur man MongoDB-aggregation i Node.js

  4. åtkomst till mongodbs objekt från mapper (MapReduce)