Mongooose / MongoDB _id as String
Я столкнулся с проблемой получения данных из MongoDB. я получил ID cannot represent value: { _bsontype: "ObjectID", ... }
Кто-то сказал:
объявить _id каждой модели для типа String
Так что это работает, проблема ушла, но хорошо ли это делать таким образом? Я имею в виду, MongoDB не будет сохранять идентификаторы как идентификаторы объектов для забавы ^^. Или это то же самое, использовать String вместо ObjectID?
1 ответ
Окей, я нашел решение, как работать с идентификатором. Идентификатор должен быть ObjectID, поскольку mongoose создает его. Поэтому я работаю с GraphQL и не заметил, что GraphQL автоматически проанализировал _id(ObjectID) для id(String).
Пример:
В typeDefs.gql не пишите _id: ID!, вместо этого пишите id: ID!
type Post {
id: ID!
title: String!
}
Затем мы получаем id в виде простой строки, и проблема исчезла.