首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型'ObjectId‘不满足约束'MongooseDocument’

类型'ObjectId‘不满足约束'MongooseDocument’
EN

Stack Overflow用户
提问于 2019-05-01 04:39:48
回答 1查看 930关注 0票数 0

我试图用类型记录将我的模型绑定到一个猫鼬模式,除了在mongoose.Types.DocumentArray<>中使用mongoose.Types.DocumentArray<>之外,一切看起来都很好。

代码语言:javascript
复制
export interface TestModel extends mongoose.Document {
  name: string;
  sort: mongoose.Types.DocumentArray<mongoose.Schema.Types.ObjectId>;
}

const TestSchema = new mongoose.Schema({
  name: String,
  sort: [mongoose.Schema.Types.ObjectId]
});

export default mongoose.model<TestModel>('Test', TestSchema);

下面是我看到的错误

类型'ObjectId‘不满足约束'MongooseDocument’。 类型“ObjectId”中缺少“MongooseDocument”类型中的下列属性:$isDefault、$session、度、相等和24 more.ts(2344)

如果我用

代码语言:javascript
复制
sort: [mongoose.Schema.Types.ObjectId];

而不是

代码语言:javascript
复制
sort: mongoose.Types.DocumentArray<mongoose.Schema.Types.ObjectId>;

在模式方面,一切看起来都很好,但是在对模态结果进行操作时,我看到了.pull()等方法的猫鼬类型错误(TS没有将其作为mongoose数组类型来获取)。

用这个抓我的头几个小时,任何帮助都会很感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 06:15:29

发现问题了。我很笨,这是一个愚蠢的错误,我在类型定义中使用了错误的类型。应该使用mongoose.Types.Array而不是mongoose.Types.DocumentArray

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55931678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档