在mongoDB上实现对用户名和/或名称的用户搜索
我希望使用Mongoose在我的MongoDB数据库上实现用户搜索,它有一个包含以下字段的用户表:在mongoDB上实现对用户名和/或名称的用户搜索,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,我希望使用Mongoose在我的MongoDB数据库上实现用户搜索,它有一个包含以下字段的用户表: 名称(全名不唯一) 用户名(唯一) 当然还有其他字段,如电子邮件、dateCreated等 我知道如何在或其他字段(仅匹配用户名或仅匹配名称)上进行搜索,但是否可以通过两个字段(匹配用户名或名称)实现搜索 例如 如果我查询riker,它将返回riker01,riker02和dan001,您可以通过以下方式使用: var word = "riker" yourModel.fi
- 名称(全名不唯一)
- 用户名(唯一)
- 当然还有其他字段,如电子邮件、dateCreated等
riker
,它将返回riker01
,riker02
和dan001
,您可以通过以下方式使用:
var word = "riker"
yourModel.find({
"$or": [
{
"user": {
"$regex": word,
"$options": "i"
},
},
{
"username": {
"$regex": word,
"$options": "i"
}
}
]
})
请注意,$options:“i”
必须区分大小写
您可以通过以下方式选择使用:
var word = "riker"
yourModel.find({
"$or": [
{
"user": {
"$regex": word,
"$options": "i"
},
},
{
"username": {
"$regex": word,
"$options": "i"
}
}
]
})
请注意,$options:“i”
必须区分大小写
您可以检查您可以在mongo中使用索引。您只需在要搜索的模型字段中添加文本参数:
name: {
type: String,
text: true
},
username: {
type: String,
text: true
}
运行此命令可将索引与集合同步
db.collection.syncIndexes()代码>
您可以在mongo中使用索引。您只需在要搜索的模型字段中添加文本参数:
name: {
type: String,
text: true
},
username: {
type: String,
text: true
}
运行此命令可将索引与集合同步
db.collection.syncIndexes()代码>
检查这个:检查这个:和