带有空格的 Mongo db 搜索文本 - Node.js

时间:2021-07-15 10:43:38

标签: node.js regex mongodb mongoose

我在 MondoDB 中存储了大量文本数据,用户可以通过文本(名称)搜索特定文档。

 {
        "_id" : ObjectId("5e576bc2250d423ef59ba631"),
        "isDeleted" : false,
        "isActive" : true,
        "createdDate" : ISODate("2020-02-25T04:32:04.746Z"),
        "email" : "abc@gmailcom",
        "name" : "ABC (Pvt) Ltd",
        "contactNumber" : "56702601994",
        "address" : "No.515,xxxx xxxxx,",
        "__v" : 0
    },
    {
    "_id" : ObjectId("5e576bc2250d423ef59ba645"),
    "isDeleted" : false,
    "isActive" : true,
    "createdDate" : ISODate("2021-03-25T04:32:04.746Z"),
    "email" : "cd@gmailcom",
    "name" : "samsung (Pvt) Ltd",
    "contactNumber" : "56432601994",
    "address" : "No.325,xxxx xxxxx,",
    "__v" : 0
}

我在下面试过

let name = 'ABC (Pvt) Ltd'  // samsung (Pvt) Ltd

Dealer.findOne({ isActive: true, name: { $regex: new RegExp('^' + name, 'i') } }, 
(err, result) => {})

也试过这个

Dealer.findOne({  isActive: true, name: { $regex: {$regex: name, $options: 'i'}} }, (err, result) => {});

也试过了

 Dealer.findOne({  isActive: true, name: { $regex: new RegExp(name.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&') + '$', 'i') } },

(err, result) => {});

当字符串包含空格时,它似乎不起作用。

MongoDB shell 版本 v4.0.9

0 个答案:

没有答案