参考资料中的MongoDB和Mongoose中的全文本搜索

时间:2019-06-26 10:20:40

标签: mongodb search mongoose

我有一个引用活动域集合的客户集合。我想使用活动域在客户集中进行搜索。

我尝试使用活动的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中,但不返回任何内容

0 个答案:

没有答案