mongoose或查询

我需要根据多个文本字段来查找文档。

var term = new RegExp(req.query.search, 'i'); .find({ company_name: { $regex: term }}); 

使用上面的作品很好。 但是,当我尝试添加一个额外的字段使用

 .find(...).or([{ bio: { $regex: term }}]); 

它无法检索任何logging。 我需要为更多的领域做这个。

该模式具有索引的不同文本字段,但不能作为单个多字段索引组合在一起。 这会更好吗?如果是的话,是否有任何明确的例子呢? 我发现的文档相当稀less。

有任何想法吗?

将两个字段放入传递给or的数组中:

 .find().or([{ company_name: { $regex: term }}, { bio: { $regex: term }}]); 

单独的单个字段索引是你想要的,因为每个or是作为一个单独的查询被执行。