MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

UID wygenerowany przez Mongodb zawiera słowo zły

To nic nie znaczy.

Identyfikator obiektu to ciąg szesnastkowy, który może zawierać znaki 0123456789abcdef . Oznacza to, że każde słowo, które można napisać za pomocą tych 6 liter, takie jak „zły”, „wołowina”, „martwy”, „głuchy”, „dziecko” lub „kawiarnia”, ma pewne prawdopodobieństwo, że się w nich pojawi (dla dokładnego prawdopodobieństwo, skonsultuj się z naszymi przyjaciółmi ).

W twoim przypadku ciąg „bad” pojawia się w trzech bajtach, które są identyfikatorem maszyny („74bad7”), więc wszystkie identyfikatory ObjectID utworzone przez tę samą maszynę będą zawierać ten 6-cyfrowy ciąg. Sposób generowania identyfikatora maszyny zależy od sterownika, ale zwykle jest tworzony przy użyciu pierwszych 6 cyfr skrótu MD5 nazwy hosta lub adresu MAC. Więc jeśli nie chcesz już więcej „złych” identyfikatorów obiektów, poeksperymentuj ze zmianą tych identyfikatorów i wymuś je brutalnie, aż uzyskasz taki, który ci się podoba;)

Twój problem z aktualizacją dokumentu musi mieć inny powód, ale podane przez Ciebie szczegóły nie zawierają wskazówki, na czym może polegać problem.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. jak poprawnie rzucić ObjectId w manguście

  2. Zapytanie agregujące mongo ze sterownikiem mgo

  3. Nie można połączyć się z serwerem mongodb podczas korzystania z NodeJS

  4. Zapytanie MongoDB z warunkiem „lub”

  5. Wyszukiwanie pełnotekstowe w mongodb w języku rosyjskim