Вот моя схема:
const Schema = mongoose.Schema
const CommentsSchema = new Schema({
tid: { type: String, ref: 'post' },
uid: { type: String, ref: 'users' },
cuid: { type: String, ref: 'users' },
content: { type: String },
created: { type: Date },
}, { toJSON: { virtuals: true } })
Схема пользователя:
const UserSchema = new Schema({
username: { type: String, index: { unique: true }, sparse: true },
password: { type: String },
name: { type: String },
created: { type: Date },
updated: { type: Date }
})
Вопрос:
Следуйте официальной инструкции c: https://mongoosejs.com/docs/populate.html#query -условия , я добавляю match
к моему find
методу:
this.find(query)
.populate({
path: 'uid',
select: '_id name',
match: { name: new RegExp('admin', 'i') }
})
.skip(page * limit)
.limit(limit)
.sort({ created: -1 })
И результат пуст. Но у меня есть некоторые комментарии, которые admin
создают. И я могу заселить без match
дела.
Почему?