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

Hvordan opdager jeg, om en mongodb serializer allerede er registreret?

TL;DR: Hvis du er doven, så brug BsonSerializer.LookupSerializer eller BsonMemberMap.GetSerializer . For at gøre det rigtigt , sørg for, at registreringskoden kaldes én gang og kun én gang .

Den bedste måde at undgå dette på er at sikre, at serializeren kun registreres én gang. Det er en god idé at have en global opstartskode, der registrerer alt, der er globalt for applikationen én gang og kun én gang. Det inkluderer ting som afhængighedsinjektorkonfiguration, værktøjer som automapper og mongodb-driveren. Hvis du kun kalder denne kode én gang og fra et enkelt punkt i koden, behøver du ikke bekymre dig om trådsikkerhed, dead locks eller lignende problemer.

MongoDB-driverens konfigurationsindstillinger er trådsikre, men antag ikke, at dette er sandt for alle softwarepakker, som du muligvis skal konfigurere. Låsning kan også være meget dyrt ydelsesmæssigt, hvis din kode er multi-threaded, for eksempel i en web-applikation. Sidst, men ikke mindst, er det opslag, du laver, måske ikke trivielt i første omgang, fordi nogle metoder skal gå et helt arvetræ.



  1. Hvordan virker cursor.observe, og hvordan undgår man, at flere forekomster kører?

  2. Sådan projicerer du kun matchende felter af indlejret array i mongo shell-forespørgsel

  3. Mongodb grupper efter felt ved hjælp af $substr

  4. MongoDB afbryder, når du kører mongod-kommando på terminal