首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MongooseModel#discriminator函数创建模型时,如何设置鉴别器关键字的值?

从MongooseModel#discriminator函数创建模型时,如何设置鉴别器关键字的值?
EN

Stack Overflow用户
提问于 2018-01-24 06:02:14
回答 1查看 729关注 0票数 1

对于Mongoose,我知道我可以使用鉴别器特性,通过一个鉴别器键让不同的模式存在于同一个集合中。

代码语言:javascript
复制
const options = { discriminatorKey: 'kind' };
const Event = mongoose.model('Event, new Schema({
 name: { type: String }
}, options);

const ClickEvent = Event.discriminator('ClickEvent', new Schema({
 url: { type: String }
}, options);

// on another file
const ClickEvent = mongoose.model('ClickEvent');
const clickEvent = new ClickEvent({
 name: 'sir',
 url: 'http://somewhere.com/hello'
});
console.log(clickEvent); // { name: 'sir', url: 'http://somewhere.com/hello', kind: 'ClickEvent' }
// look carefully kind is set to ClickEvent

我希望以某种方式将kind设置为click。我怎么能这样做呢?我希望是这样的:

代码语言:javascript
复制
const ClickEvent = Event.discriminator('ClickEvent', new Schema({
     url: { type: String }
    }, { ...options, discriminatorValue: 'click' });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 14:09:32

对于Mongoose 5.2+,您可以将该值作为API Doc中指定的第三个参数进行传递

代码语言:javascript
复制
const ClickEvent = Event.discriminator('ClickEvent', new Schema({
  url: { type: String }
}), "click")

并将kind设置为"click“

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

https://stackoverflow.com/questions/48411555

复制
相关文章

相似问题

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