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 в виде простой строки, и проблема исчезла.

Другие вопросы по тегам