我有一个引用活动域集合的客户集合。我想使用活动域在客户集中进行搜索。
我尝试使用活动的ID来执行此操作,但数据库未响应。 我试图使用名称进行过滤,但效果很好。
这是我的customerModel
let CustomerSchema = new Schema({
name: String,
address: String,
email: String,
phone: String,
area: String,
empNum: Number,
sector: Boolean,
website: String,
facebook: String,
linkedin: String,
activity: { type: String, ref: 'Activity' },
country: { type: String, ref: 'Country' },
},
{
versionKey: false
});
CustomerSchema.index({'activity': 'text', name: 'text'});
这是我的activityModel
let ActivitySchema = new Schema({
name: String,
description: String,
},
{
versionKey: false
});
// Export the model
module.exports = mongoose.model('Activity', ActivitySchema, 'Activity');
这是我的管理员代码
exports.customerFiltred = function (req, res) {
Customer.find({$text: {$search: req.params.name}})
.exec(function (err, body) {
if (err) throw err;
res.send(body);
})
};
我还尝试使用activity.type代替活动
CustomerSchema.index({'activity.type': 'text', name: 'text'});
在CustomerSchema.index中,但不返回任何内容