猫鼬 / MongoDB _id 作为字符串

Mongooose / MongoDB _id as String

我在从 MongoDB 获取数据时遇到了问题。我得到了
ID cannot represent value: { _bsontype: "ObjectID", ... }

有人说:

declare the _id of each model to the type of String

所以它有效,问题消失了,但是这样做可以吗?我的意思是,MongoDB 不会为了好玩而将 ID 保存为 objectIds ^^。或者是相同的,使用 String 而不是 ObjectID?

好的,我找到了如何使用 ID 的解决方案。 ID 应该是猫鼬创建的 ObjectID。所以我使用 GraphQL,但我没有注意到,GraphQL 自动将 _id(ObjectID) 解析为 id(String)。

示例:

在typeDefs.gql中不要写_id:ID!,而是写id:ID!

type Post {
  id: ID!
  title: String!
}

然后我们将 id 作为一个简单的字符串输出,问题就解决了。