mongodb中不区分大小写的find()函数

时间:2019-06-14 10:11:54

标签: node.js mongodb mongoose

在MongoDB中,带有人的文档的集合

({
    name:"looklike", 
    gender:"male"
},{
    name:"Cool dude",
    Gender:"Male"
})

存在,我正在尝试做find({gender:gendervalue}),但结果只有一个, 我使用mongoose作为MongoDB的驱动程序。是否有任何选项可以执行不区分大小写的find()

我使用了正则表达式/^male/i,但未得到任何结果。 我尝试了person.find({gender: 'Male' || 'Male'.toLowerCase()}),没有结果

我希望得到

{
    "_id" : ObjectId("5d036650f2483e291d0346ca"),
    "name" : "looklike",
    "gender" : "male",
    },
 {
    "_id" : ObjectId("5d036650f2483e291d03473e"),
    "name" : "cool dude",
    "gender" : "male",
}

2 个答案:

答案 0 :(得分:0)

请尝试以下操作,它应该可以工作

/^male$/i

答案 1 :(得分:0)

NoHandlerForCommandExceptionclass User { constructor(id) { this._ref = db.collection(..).doc(id) } getUserData = async => { const data = await this._ref.get() return data.map(doc => { // some transformation }) } // .. other functions that use the ref } 一起使用,以区分大小写。

尝试:

$regex