MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да открия дали сериализатор на mongodb вече е регистриран?

TL;DR: Ако сте мързеливи, използвайте BsonSerializer.LookupSerializer или BsonMemberMap.GetSerializer . За да го направите правилно , уверете се, че регистрационният код се извиква веднъж и само веднъж .

Най-добрият подход за избягване на това е да се уверите, че сериализаторът е регистриран само веднъж. Добра идея е да имате някакъв глобален код за стартиране, който регистрира всичко, което е глобално за приложението веднъж и само веднъж. Това включва неща като конфигурация на инжектор на зависимости, инструменти като automapper и драйвера mongodb. Ако извикате този код само веднъж и от една точка в кода, не е нужно да се притеснявате за безопасността на нишката, мъртвите заключвания или подобни проблеми.

Конфигурационните настройки на драйвера MongoDB са безопасни за нишки, но не предполагайте, че това е вярно за всички софтуерни пакети, които може да се наложи да конфигурирате. Освен това заключването може да бъде много скъпо производителност, ако вашият код е многонишков, например в уеб приложение. И накрая, но не на последно място, това търсене, което правите, може да не е тривиално на първо място, защото някои методи трябва да обходят цялото дърво на наследяването.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. node.js &express - глобални модули и най-добри практики за структура на приложението

  2. Задайте дата по подразбиране в документа на Mongoose на сега + [известно увеличение]

  3. MongoDB предоставя основна система за удостоверяване. Променен ли е във версия 2.2.3?

  4. Mongodb - актуализира частичен брой документи

  5. Отношения на MongoDB:вграждане или справка?