javascript - 如何使用 dexie 将对象保存在索引数据库中,其中 1 个字段是对象数组?
问题描述
我有索引数据库的下一个配置
import Dexie from 'dexie';
const db = new Dexie("dbName");
db.version(1).stores(
{users: '++id, name,company,confirmPassword,email,password,*permissions'}
);
const saveClient = async (client) => {
return await db.users.add(client);
};
export {
saveClient
};
其中权限是对象数组
{
name: 'Alex',
company: 'Company',
password: 'Password',
confirmPassword: 'Password',
permissions : [{id:1}, {id:2}] //permisions
}
我应该描述这个领域的特殊方式来将新对象添加到存储中吗?
解决方案
您可以在 indexedDB 中存储任何结构,包括对象数组,而无需在索引中对其进行描述。索引应仅列出您想在查询中使用的属性。
索引可以是plain 或multiEntry。普通索引适用于属性本身,而多条目索引则适用于数组中的每个条目。但是,这些条目必须是普通值而不是对象——因为对象本身是不可索引的。
因此,如果您的意图是查询所有具有 id = X 权限的用户,您需要将每个权限存储为普通 ID 号 ([1, 2, ...]) 而不是对象 [{id: 1 },{id: 2}, ...]。
推荐阅读
- linux - 我刚刚下载了ubuntu,但是我无法将目录更改为“/ C”或类似的
- python - 如何使用 python PyQT4 在 QGIS 和 PlugIn 上实时登录 .bat 文件
- python - Pandas: Adding values of one column to another column if the date is different in datetime index
- mysql - JOIN 3 tables SUM group by month
- visual-studio-code - Default pylintrc completely disables pylint
- javascript - React:在条件渲染中映射元素
- c# - C# I am having trouble with variables not acting as I would expect
- javascript - How to add json complex format to html table
- google-api - KEYWORD_TEXT Google Ads API 值的含义
- java - 模型类在第二次使用时未将特定字符串传递给 ListViewAdapter