如何使用类似SQL查询mongodb

ppcbkaq5  于 2022-11-22  发布在  Go
关注(0)|答案(1)|浏览(137)

我有这样的代码:

let collection = database.collection('Product')

let doc = await collection.find({"Product_Name": /req.query.Product_Name/}).toArray()

console.log(doc)

我有一个名为Test Product (22in)的产品(例如)
所以我希望有人能够搜索Test Product,它应该会出现,但是,我的代码没有这样做,我做错了什么吗?

k7fdbhmy

k7fdbhmy1#

由于你试图提供一个regex模式,需要使用$regex查询操作符。

let doc = await collection.find({
  "Product_Name": {
    "$regex": "Test Product",
    "$options": "i"
  }
}).toArray()

注意:选项i是不区分大小写的。你可以在文档中阅读更多关于运算符和正则表达式匹配行为的信息。
旁注:在大量文档上进行正则表达式匹配是昂贵的,你可以考虑为需要搜索的领域建立一个索引(文本)。
请参见示例playground link here

相关问题