Czy możliwe jest wygenerowanie tego samego dokładnego obiektu Mongo ObjectId dla dokumentu w dwóch różnych kolekcjach? Zdaję sobie sprawę, że jest to na pewno bardzo mało prawdopodobne, ale czy jest to możliwe?
Nie sprecyzowując, powód, dla którego pytam, jest taki, że dzięki aplikacji, nad którą pracuję, pokazujemy publiczne profile wybranych urzędników, którzy mamy nadzieję przekształcić się w pełnoprawnych użytkowników naszej witryny. Mamy osobne kolekcje dla użytkowników i wybranych urzędników, którzy obecnie nie są członkami naszej witryny. Istnieją różne inne dokumenty zawierające różne dane o wybranych urzędnikach, które wszystkie odwzorowują z powrotem na osobę używającą wybranego przez siebie oficjalnego obiektu ObjectId.
Po utworzeniu konta nadal podkreślamy dane powiązane z wybranym urzędnikiem, ale teraz są one również częścią kolekcji użytkowników z odpowiednim ObjectId użytkownika, aby odwzorować ich profil na interakcje z naszą aplikacją.
Kilka miesięcy temu zaczęliśmy konwertować naszą aplikację z MySql na Mongo i podczas gdy przechodzimy, przechowujemy starszy identyfikator MySql dla obu tych typów danych, a także zaczynamy teraz przechowywać wybranych oficjalnych obiektów Mongo ObjectId u użytkowników dokument odwzorowujący z powrotem na wybrane oficjalne dane.
Zastanawiałem się nad określeniem nowego obiektu ObjectId jako poprzednio wybranego oficjalnego obiektu ObjectId, aby uprościć sprawę, ale chciałem się upewnić, że kolizja z żadnym istniejącym użytkownikiem ObjectId nie będzie możliwa.
Dzięki za wgląd.
Edycja: Wkrótce po opublikowaniu tego pytania zdałem sobie sprawę, że moje zaproponowane rozwiązanie nie było zbyt dobrym pomysłem. Lepiej byłoby po prostu zachować obecny schemat, który mamy na miejscu, i po prostu link do wybranego oficjalnego „_id” w dokumencie użytkownika.