【问题标题】:With Dexie, how to update multiple objects with a non-primary index?使用 Dexie,如何使用非主索引更新多个对象?
【发布时间】:2020-05-20 19:26:02
【问题描述】:

我想做类似myTable.update({ location: 'Paris'}, { location: '' } 之类的操作,并将myTable 中具有“Paris”location 的所有对象更改为将location 设置为空字符串。

location 不是主键,因此在执行命令之前myTable 中可能有任意数量的对象具有location = 'Paris',但应该没有location = 'Paris ' 执行命令后。

我来自 SQL 背景,所以这对于数据库来说似乎是一个非常简单的基本功能。但是Dexie docs for Table.update()表示它只支持使用主键,因此最多只能更新一个对象。当然,除了循环进行多次调用以更新数据库之外,还有其他方法可以做到这一点吗?一些我没见过的命令?还是我没能理解一些我应该知道的关于 NoSql 数据库的事情?

【问题讨论】:

    标签: updates indexeddb bulkupdate dexie


    【解决方案1】:
    myTable.where({location: 'Paris'}).modify({location: ''})
    

    https://dexie.org/docs/Collection/Collection.modify()

    【讨论】:

    • 我没有意识到modify 会写入数据库——我以为集合只在内存中。谢谢!
    猜你喜欢
    • 2019-07-10
    • 2017-11-13
    • 2020-07-20
    • 2020-11-06
    • 1970-01-01
    • 2021-03-05
    • 2021-06-24
    • 1970-01-01
    • 2023-02-11
    相关资源
    最近更新 更多