在我的收藏中,我有一些小组可以限制其中的成员。我想查询所有具有足够空格的组,并在搜索表单中给出一个数字。我为我的API使用mongoose和node。
因此,当一个组中有2个成员时,限制3和用户搜索组中剩下的2个位置。这个小组不会展示,但任何其他小组。
我如何查询?我已经找到类似query.$expr = { $gt: [{ $strLenCP: "$members" }, params.searchValue /*2 in my example*/ ] };
的东西,但我真的不明白。
这是我的猫鼬模式:
let GroupSchema = new Schema({
name: {
type: String,
required: true
},
status: {
type: String,
required: true
},
game: {
type: Schema.Types.ObjectId,
ref: 'Games',
required: true
},
alias: {
type: String,
required: true,
unique: true
},
owner: {
type: Schema.Types.ObjectId,
ref: 'User'
},
range: Number,
image: String,
description: String,
members: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
updated: Date,
created: Date
});