Jestem trochę zdezorientowany przez użycie Mongo DB z ObjectIds. Na pewno świetnie nadają się do tworzenia identyfikatorów po stronie klienta, które prawie na pewno nie kolidują z innymi identyfikatorami utworzonymi po stronie klienta. Ale mongo wydaje się przechowywać je w jakiś szczególny sposób. Przechowywanie reprezentacji ciągów o identyfikatorze to inny z zapisywania identyfikatora obiektu jako obiektu. Dlaczego to?Różnica między przechowywaniem ObjectId a jego ciągiem znaków w MongoDB
Czy ciąg znaków nie zawiera wszystkich tych samych informacji, które ma formularz obiektu? Dlaczego mongo idzie do takiej długości, aby odróżnić te dwie formy? Przykro mi, kiedy próbuję porównać _ids wysłany z frontendu na przykład. Moja baza danych nie jest w żaden sposób zgodna z tym, czy przechowuje identyfikatory łańcuchowe lub identyfikatory typu obiektu, a mój kod jest z pewnością częściowo winny, głównie obwiniam mongo za uczynienie tego tak dziwnym.
Czy jestem w błędzie, że to dziwne? Dlaczego mongo robi to w ten sposób?
Nie powinieneś potrzebować konwertować obiektów ObjectIds na ciągi, aby je porównać. Mają metodę równości (przynajmniej w mangoskin). –
Odwołanie, które powiedziałeś, że ObjectIds ma 12 bajtów, a nie 16 –
@BT, co jest moim złym, musiał myśleć o czymś innym – Sammaye