Dexiejs 高级搜索

Dexiejs advanced search

我正在构建库存应用程序。我的搜索字段很少(部件号、制造商等)。我一直在尝试基于输入字段构建搜索。但似乎没有任何效果。 我尝试过的东西。

db.version(1).stores({
  parts: "++id,partno,description,category,manufacturer,cost,qty,add_date,condition,location"
});

搜索 1:

var searchParams = { 'partno': 'md101', 'manufacturer': 'apple', 'category': 'notebook'}

搜索 1:

var searchParams = { 'condition': 'new', 'category': 'notebook'}

有效,但区分大小写。我可以让它不区分大小写吗?:

db.parts.where(search); 

失败:

var fields = Object.keys(search);
var values = Object.values(search)
db.parts.where(fields).equals(values);

请帮我解决这个问题。文档没有帮助

谢谢。

db.parts.where({
  partno: 'md101',
  manufacturer: 'apple',
  category: 'notebook'
}).toArray().then(result => console.log(result);

以上查询将在条件和匹配之间进行逻辑与和匹配。

要按大小写匹配,请尝试以下操作:

db.parts.where('partno').equalsIgnoreCase('md101')
  .and(part=>
    part manufacturer &&
    part manufacturer.toLowerCase() === 'apple' &&
    part.category &&
    part.category.toLowerCase() === 'notebook')
 .toArray()
  .then(result => console.log (result))

我们在这里所做的是仅使用分布最广的索引并手动过滤掉其余的。