我希望用Mongoose在我的MongoDB数据库上实现一个用户搜索,它有一个包含以下字段的用户表:
我知道如何在或另一个(只匹配用户名或只匹配名称)上进行搜索,但是否可以通过两个字段(匹配用户名或名称)来实现搜索?
例如。
| Users | Username |
|--------------|----------|
| Will Riker | riker01 |
| Bill Reilly | riker02 |
| Daniel Riker | dan001 |
| James dean | dean001 |
如果我查询riker
,它将返回riker01
、riker 02
和dan001
发布于 2021-03-28 19:57:16
发布于 2021-03-31 06:06:46
您可以在mongo中使用索引$text。您需要做的就是在要搜索的模型字段中添加文本参数:
name: {
type: String,
text: true
},
username: {
type: String,
text: true
}
运行此命令以使索引与集合db.collection.syncIndexes();
同步。
db.users.find({
$text: {$search: searchkey}
})
https://stackoverflow.com/questions/66845049
复制相似问题