我有下面的模式:
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
});
如何解决?谢谢
1条答案
按热度按时间qco9c6ql1#
没关系,一些AI帮助了我:)))
可以在schema中使用__v字段,别名将用于
graphql
schema这里的一个小缺点是,我需要将
originalRecord.__v
与传入对象record.version
进行比较(因为graphql
不知道__v
,mongodb
不知道version
字段)