gpt4 book ai didi

indexeddb - 检查 indexedDB 索引是否已经存在

转载 作者:行者123 更新时间:2023-12-03 22:58:07 28 4
gpt4 key购买 nike

我想在 onupgradeneeded 中更新我的 indexeddb 数据库的对象库之一。我想检查一下,如果这个索引存在于这个对象存储中,那么就不需要做任何更改。但如果不是,我想更新它的索引。

最佳答案

    var request = indexedDB.open(...);
request.onupgradeneeded = function(event) {
// Get the IDBDatabase connection
var db = event.target.result;

// This is the implied IDBTransaction instance available when
// upgrading, it is type versionchange, and is similar to
// readwrite.
var tx = event.target.transaction;

// Get the store from the transaction. This assumes of course that
// you know the store exists, otherwise use
// db.objectStoreNames.contains to check first.
var store = tx.objectStore('myStore');

// Now check if the index exists
if(store.indexNames.contains('myIndex')) {
// The store contains an index with that name
console.log('The index myIndex exists on store myStore');

// You can also access the index and ensure it has the right
// properties you want. If you want to change the properties you
// will need to delete the index then recreate it.
var index = store.index('myIndex');

// For example
if(index.multiEntry) {
console.log('myIndex is flagged as a multi-entry index');
}

if(index.unique) {
console.log('myIndex is flagged with the unique constraint');
}

} else {
// The store does not contain an index with that name
console.log('The index myIndex does not exist on store myStore');

// Can create it here if you want
store.createIndex('myIndex', ...);
}

};

关于indexeddb - 检查 indexedDB 索引是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886385/

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