我想将 null 的 dexie 值更改为空字符串
I want to change my dexie values which are null to empty strings
我想将我的数据表值更改为空字符串。
有时 department 值为空,在这种情况下它会在我的数据表中放入 null。
db = db_open();
db.fuel.toArray().then(fuel => {
fuel.forEach(function(fuel) {
$('#table_bod').append('<tr> <td>'+fuel.department+'</td> </tr> ');
})
});
我试过了:
const fuels = db.fuel.where({department: null});
但这似乎不起作用。
IndexedDB 无法与 null 匹配,因此为了找到那些您必须进行完整 table 扫描。
const fuelsWithoutDepartment = await db.fuel
.filter(x => x.department === null)
.toArray();
创建一个升级程序,将所有空部门修改为空字符串,以防您想要它而不是空字符串。
db.version(2).stores({
fuel: 'id, department'
}).upgrade (tx => {
return tx.fuel.filter(
x => x.department === null
).modify({department: ""});
});
一旦您声明了这样的升级程序(请根据您的情况将其调整为适当的版本、ID 和索引),那么您将不再需要完整的 table 扫描来查找没有部门的燃料但可以使用部门索引(如果有的话):
const fuelsWithoutDepartment = await db.fuel
.where({department: ""})
.toArray();
我想将我的数据表值更改为空字符串。
有时 department 值为空,在这种情况下它会在我的数据表中放入 null。
db = db_open();
db.fuel.toArray().then(fuel => {
fuel.forEach(function(fuel) {
$('#table_bod').append('<tr> <td>'+fuel.department+'</td> </tr> ');
})
});
我试过了:
const fuels = db.fuel.where({department: null});
但这似乎不起作用。
IndexedDB 无法与 null 匹配,因此为了找到那些您必须进行完整 table 扫描。
const fuelsWithoutDepartment = await db.fuel
.filter(x => x.department === null)
.toArray();
创建一个升级程序,将所有空部门修改为空字符串,以防您想要它而不是空字符串。
db.version(2).stores({
fuel: 'id, department'
}).upgrade (tx => {
return tx.fuel.filter(
x => x.department === null
).modify({department: ""});
});
一旦您声明了这样的升级程序(请根据您的情况将其调整为适当的版本、ID 和索引),那么您将不再需要完整的 table 扫描来查找没有部门的燃料但可以使用部门索引(如果有的话):
const fuelsWithoutDepartment = await db.fuel
.where({department: ""})
.toArray();