Czy istnieje funkcja, która zamienia ciąg znaków w objectId w węźle za pomocą mongoose? Schemat określa, że coś jest ObjectId, ale kiedy jest zapisywane z łańcucha, mongo mówi mi, że nadal jest to tylko ciąg. Na przykład identyfikator _id obiektu jest wyświetlany jako objectId("blah")
.
174
Możesz to zrobić w ten sposób:
EDYCJA: Nowy standard ma fromHexString zamiast fromString
źródło
mongoose.mongo
dla mnie. Czy ktoś może potwierdzić?Sądząc po komentarzach, szukasz:
Lub
źródło
źródło
mongoose.Types.ObjectId
imongoose.mongo.ObjectId
? Właściwości obiektu mangusty są różne, ale mogą odnosić się do tej samej metody poniżej. Proszę o komentarz na temat metod leżących naTypes
żywomongo
.Nie mogłem rozwiązać tej metody (wprawdzie nie szukałem długo)
Jeśli schemat oczekuje, że właściwość będzie typu ObjectId, konwersja jest niejawna, przynajmniej wydaje się, że tak jest w przypadku wersji 4.7.8.
Możesz jednak użyć czegoś takiego, co daje trochę więcej elastyczności:
źródło
Możesz również tego użyć
to najprostszy sposób
źródło
Zobacz tylko poniższy fragment kodu, jeśli implementujesz interfejs API REST za pomocą ekspresu i mongoose. (Przykład dodania)
Mam nadzieję, że to pomoże
źródło