Проблема не в refPath
, а в том, что вы расширяете Document
и не выполняете некоторые требования.
Более конкретно: он жалуется, что не может найти свойство ObjectId
, чего не должно быть, потому что это схема, а не документ.
Честно говоря, я не знаю, почему вы смешиваете Document
и Schema
. Попробуйте это.
import mongoose, { Schema } from 'mongoose';
import Vote from '../types/Vote';
const VoteSchema: Schema = new Schema({
user: Schema.Types.ObjectId,
on: {
type: Schema.Types.ObjectId,
required: true,
refPath: 'onModel',
},
onModel: {
type: String,
required: true,
enum: ['Post', 'Comment'],
},
});
export default mongoose.model('Vote', VoteSchema);