gpt4 book ai didi

updates - 使用 Dexie,如何从表中所有对象的数组字段中删除值?

转载 作者:行者123 更新时间:2023-12-04 10:37:06 26 4
gpt4 key购买 nike

来自 this question我可以在我的表中找到所有对象,其中值出现在作为数组的字段中。现在,我需要为该表中的所有对象从该字段中删除该值。

例如,假设一个 events表,有对象:

{ people: ['John', 'Bob', 'Sue'] }
{ people: ['Harry', 'Sue', 'Jim'] }
{ people: ['John', 'Bob', 'Elaine'] }
{ people: ['Jim', 'Bob', 'Sue'] }

假设我想从 people 中删除“Sue”所有对象的字段。

Dexie 是如何做到的?

最佳答案

在异步函数中添加以下代码即可:

await db.events.where('people').equals('Sue').modify(x => {
// This callback is run for every match.
// Here you can modify the people property to remove Sue from it:
x.people = x.people.filter(p => p !== 'Sue');
});

注意:假设架构使用 multiEntry 索引索引“people”:

const db = new Dexie("testdb");
db.version(3).stores({
events: 'id, *people'
});

引用:
  • https://dexie.org/docs/Collection/Collection.modify()
  • https://dexie.org/docs/MultiEntry-Index
  • 关于updates - 使用 Dexie,如何从表中所有对象的数组字段中删除值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60121735/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com