Javascript 如何使用dexie更新indexeddb存储项
我已经索引了数据库表Javascript 如何使用dexie更新indexeddb存储项,javascript,indexeddb,dexie,Javascript,Indexeddb,Dexie,我已经索引了数据库表 “00014381104394” {id:'00014381104394',姓名:'A House Divided:第1季(DVD)',productimg:'http://i5.walmartimages.com/asr/99cfec5c-634e-4e26…4465.jpeg?odnHeight=180&odnWidth=180&odnBg=ffffff“,发行单位:“每个”,数量:1,…} 1 "00016500590958" {id:“00016505
“00014381104394”
{id:'00014381104394',姓名:'A House Divided:第1季(DVD)',productimg:'http://i5.walmartimages.com/asr/99cfec5c-634e-4e26…4465.jpeg?odnHeight=180&odnWidth=180&odnBg=ffffff“,发行单位:“每个”,数量:1,…}
1 "00016500590958"
{id:“0001650590958”,姓名:“一天一片男士50+迷你凝胶,男士复合维生素,80克拉”,产品名称:http://i5.walmartimages.com/asr/7d44d419-bd6f-4808…b7ea.jpeg?odnHeight=180&odnWidth=180&odnBg=ffffffff“,发行单位:“每个”,数量:1,…}
2 "00022141041599"
{id:“00022141041599”,名称:“Mepps-Dressed Aglia直列纺纱机,银色和灰色,1/4盎司”,产品名称:http://i5.walmartimages.com/asr/a0ce2579-300a-4536…0d63.jpeg?odnHeight=180&odnWidth=180&odnBg=ffffffff“,发行单位:“每个”,数量:1,…}
3 "00038257767124"
{id:“00038257767124”,名称:“Hanes男式Max座垫舒适上衣B&T圆领短袜6件套”,产品名称:http://i5.walmartimages.com/asr/f439dc53-c905-45bb…3436.jpeg?odnHeight=180&odnWidth=180&odnBg=ffffff“,发行单位:“每个”,数量:1,…}
4 "00041333002132"
{id:“00041333002132”,名称:“Duracell Coppertop AAA电池,长效AAA电池,24组”,产品名称:http://i5.walmartimages.com/asr/09b2aa97-6655-4422…2259d.png?odnHeight=180&odnWidth=180&odnBg=ffffff“,发行单位:“每个”,数量:1,…}
如果您只想增加cartitems中给定newItemId的“quantity”属性,请执行以下操作:
db.transaction('rw', db.cartitems, () => {
return db.cartitems.get(newItemId).then(item => {
++item.quantity;
return db.cartitems.put(item);
});
});
您也可以这样做(相当于上面剪下的部分):
见文件:
当
db.carttItems.get(newItemId)
返回您想要的项目时,为什么需要获取所有项目?@charlietfl我很确定我做得不对。我不知道如何直接更新特定itemid的属性。因此,先获取物品,然后获取商店中的所有物品,并使用升级数量创建一个新数组,然后我想获取特定物品,然后使用新数组对同一商店进行批量输入。确定。嗯,result
应该是您要更新的单个项目(假设它存在),然后不是bulkPut
只是put()
。检查文档,我已经很久没看了,但我95%确定它只是一个项目的put()
db.cartitems.where({id: newItemId}).modify(item => ++item.quantity);