在 LiteDB 中使用多个条件进行搜索:组合查询
Search with multiple criterias in LiteDB : combine queries
谁能告诉我如何使用以下伪代码在 liteDb 中搜索数据?
伪代码
col = db.GetCollection<Product>("products");
string keyword = "1AS";
Query query;
if (condition1)
{
query += Query.Contains("ProductName", keyword);
}
if (condition2)
{
query += Query.Contains("ProductModel", keyword);
}
if (condition3)
{
query += Query.Contains("Note", keyword);
}
if (query.Any()) //
{
var data = col.Find(query).toList();
}
提前致谢
您可以使用 Query.And(params Query[] queries)
,像这样:
var list = new List<Query>();
if (condition1)
{
list.Add(Query.Contains("ProductName", keyword));
}
if (condition2)
{
list.Add(Query.Contains("ProductModel", keyword));
}
...
if (list.Count > 0) //
{
var q = list.Count == 1 ? list.First() : Query.And(list.ToArray());
var data = col.Find(q);
}
谁能告诉我如何使用以下伪代码在 liteDb 中搜索数据?
伪代码
col = db.GetCollection<Product>("products");
string keyword = "1AS";
Query query;
if (condition1)
{
query += Query.Contains("ProductName", keyword);
}
if (condition2)
{
query += Query.Contains("ProductModel", keyword);
}
if (condition3)
{
query += Query.Contains("Note", keyword);
}
if (query.Any()) //
{
var data = col.Find(query).toList();
}
提前致谢
您可以使用 Query.And(params Query[] queries)
,像这样:
var list = new List<Query>();
if (condition1)
{
list.Add(Query.Contains("ProductName", keyword));
}
if (condition2)
{
list.Add(Query.Contains("ProductModel", keyword));
}
...
if (list.Count > 0) //
{
var q = list.Count == 1 ? list.First() : Query.And(list.ToArray());
var data = col.Find(q);
}