MongoDB:通过C#客户端在一个字段中搜索多个字符串

时间:2019-07-01 05:04:42

标签: mongodb mongodb-query

我正在使用MongoDB和C#客户端。 我正在收集以下数据:

 1- { _id: xId, Desc: "ABC BLX CPO"}
 2- { _id: yId, Desc: "ZNP CKL IOP ERKK"}
 3- { _id: zId, Desc: "POL MIU WER XDF RRF"}

现在的问题是,我必须根据用户要求在Desc字段中搜索动态值。例如 一次搜索一个字符串“ ABC”, 下次可能是我必须在Desc栏位“ XYZ”和“ IOP”中搜寻两个字串 下次可能是我搜索了五个字符串

我创建这些搜索关键字的列表(无论是一个,两个还是任何数字),并循环遍历并逐个搜索:

list = ["ABC", "XYZ", "IOP"];
foreach(string item in list)
{
      findInDB(item);
}

void findInDB(string val)
{
       db.Collection.find({"Desc" : /val /i}) //pseudo code
} 

尽管上面的代码对我有用,但是由于我拥有非常丰富的数据库,这花费了太多时间。

我正在寻找实现目标的有效方法。如有可能,请指导我。

0 个答案:

没有答案