[英]Mongoose discriminators undefined
我有一個帶有鑒別器的模式,但是當我運行 mySchema.discriminators 時,它返回未定義,即使當我 console.log 模式時,它也有鑒別器。 這是預期的嗎? 如何獲取鑒別器列表?
我的架構
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const options = { discriminatorKey: 'kind', collection: 'properties' };
const PropertySchema = new Schema ({
name: {
type: String,
required: true
},
description: String
}, options);
const Property = mongoose.model('Property', PropertySchema);
const Integer = Property.discriminator('Integer', new Schema({
bounds: {
max: { type: 'Number', default: -Infinity },
min: { type: 'Number', default: Infinity }
}
}, options))
module.exports = {Property: Property, Integer: Integer}
我的控制器
const PropertyModel = require('../models/property');
module.exports.index = async (req, res) => {
// some await function
console.log(PropertyModel);
console.log(PropertyModel.discriminators)
res.render('properties/index');
}
控制台輸出
{
Property: Model { Property },
Integer: Model { Integer },
Number: Model { Number },
Money: Model { Money },
RadioSelect: Model { RadioSelect },
Checkbox: Model { Checkbox },
TieredSelect: Model { TieredSelection },
SingleSelect: Model { SingleSelect },
MultiSelect: Model { MultiSelect },
SingleUser: Model { SingleUser },
MultiUser: Model { MultiUser },
SingleGroup: Model { SingleGroup },
MultiGroup: Model { MultiGroup },
Date: Model { Date },
DateTime: Model { DateTime },
Labels: Model { Label },
ShortText: Model { ShortText },
LongText: Model { LongText }
}
undefined
我能夠使用Object.keys(PropertyModel)
訪問鑒別器名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.