mongoose 如何将versionKey __vMap到自定义字段?

rkkpypqq  于 2023-03-23  发布在  Go
关注(0)|答案(1)|浏览(78)

我有下面的模式:

const articleSchema = new Schema<IArticle>({
  title: {
    type: String,
    required: true,
  },
  overview: {
    type: String,
    required: true,
  },
});

因为对于每次更新,我都想检查对象主体的当前版本是否与数据库对象相同,所以我需要将名为 versionKey__v字段(来自db)Map到schema/interface中的字段。
我可以将它作为__v: Number添加到 articleSchema,但问题是GraphQL,因为我不能像这样声明类型(字段名称不能以**__**开头)。无论如何,我仍然不确定来自我的schema的字段__v是否会Map到集合的现有字段。此外,我尝试使用versionKey,但未定义。
我需要这样的东西:

const articleSchema = new Schema<IArticle>({
  ...,
  version: Number // which will be the __v field from collection
});

如何解决?谢谢

qco9c6ql

qco9c6ql1#

没关系,一些AI帮助了我:)))
可以在schema中使用__v字段,别名将用于graphql schema

__v: {
    type: Number,
    alias: "version",
 },

这里的一个小缺点是,我需要将originalRecord.__v与传入对象record.version进行比较(因为graphql不知道__vmongodb不知道version字段)

相关问题