我在react中使用indexedDB时遇到了一个问题。我有一个用于保存参数的数据库,并且每天必须为每个用户只保存一个参数。因此,我决定为数据库的一个键设置一个dateAndId
。
{
store: "dataTime",
storeConfig: { keyPath: "dateAndId", autoIncrement: false},
storeSchema: [
{ name: "parameters", keypath: "parameters", options: { unique: false } },
],
}
我使用update
函数没有问题。我用下面的代码更新数据库。它找到相应的对象并更新它。
update({
dateAndId: currentDate + '-' + UserInfo.id,
parameters: {
...UserInfo.parameters,
},
}).then(
(event) => {
console.log("timeData updated: ", event);
}
);
但是当我使用getByID
和getByIndex
时,错误弹出并显示:找不到对应对象
例如,对于getByIndex
,我得到
当我使用getByID
时我得到
虽然我确信参数是一个有效的键,因为它是一个字符串。
这是我的代码getByID
:
useEffect(() => {
getByID(String(currentDate + '-' + UserInfo.id)).then(data => {
UserInfo.setParameters(data);
});
}, []);
你认为确切的问题是什么?我认为很简单,但我看不出来。
提前感谢您的帮助
1条答案
按热度按时间zazmityj1#
ID不是Integer,而是String,因此indexedDB无法处理