我正在使用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
}
尽管上面的代码对我有用,但是由于我拥有非常丰富的数据库,这花费了太多时间。
我正在寻找实现目标的有效方法。如有可能,请指导我。