Mongoose用$ regexsearch所有的字段

比如说,我有以下模型:

var advertise = mongoose.Schema({ username: String, text: String, locations: Array, days: Array, phone: Object, images: Array, age: Number, height: String, sex: String, categories: Array, targetAudience: Array, prices: Array, creator: String, hairColor: Object, eyeColor: Object, breastSize: Object, bodyType: Object, advertiseType: Object, created: {type: Date, default: Date.now}, is_active: {type: Number, default: 0}, order_id: String }); 

现在我有一个名为searchString的值。 有没有办法,我可以searchsearchString所有领域?

现在我只知道用$or key来做这个。 但是,这是不切实际的。

如下所示:

 mongoose.models.advertise.find({$or: [{'username': {'$regex': searchString}}]}, function (err, advertise) { res.json(advertise) }) 

注意我正在使用Node.js

如果您有能力创build$文本索引 :

 var advertise = mongoose.Schema({ username: String, text: String, locations: Array, days: Array, phone: Object, images: Array, age: Number, height: String, sex: String, categories: Array, targetAudience: Array, prices: Array, creator: String, hairColor: Object, eyeColor: Object, breastSize: Object, bodyType: Object, advertiseType: Object, created: {type: Date, default: Date.now}, is_active: {type: Number, default: 0}, order_id: String }); advertise.index({ username: 'text', text: 'text', height: 'text', sex: 'text', creator: 'text', order_id: 'text' }); 

要执行search:

 mongoose.models.advertise.find({ $text : { $search : searchString } }, function (err, advertise) { res.json(advertise) }) 

我没有真正尝试过,不要犹豫纠正潜在的错误。