IDBObjectStore.indexNames
IDBObjectStore
的只读属性 indexNames
返回此对象存储中对象的 indexes 名称(name)列表。
备注: 此特性在 Web Worker 中可用。
值
一个 DOMStringList
。
示例
在下面的代码片段中,我们在数据库上打开一个读/写事务并使用 add()
向对象存储添加一些数据。创建对象存储后,我们将打印 objectStore.indexNames
到控制台。有关完整的工作示例,请参阅我们的 待办事项通知应用程序 ( 实时查看示例 )
js
// 让我们来打开我们的数据库
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = function (event) {
note.innerHTML += "<li>Database initialised.</li>";
// 将打开数据库的结果存储在 db 变量中
// 下面经常用到这个
db = this.result;
// 运行 addData() 函数将数据添加到数据库
addData();
};
function addData() {
// 创建一个新对象以准备插入到 IDB 中
var newItem = [
{
taskTitle: "Walk dog",
hours: 19,
minutes: 30,
day: 24,
month: "December",
year: 2013,
notified: "no",
},
];
// 打开读/写数据库事务,准备添加数据
var transaction = db.transaction(["toDoList"], "readwrite");
// 当所有事情都完成时,报告事务完成的成功情况
transaction.oncomplete = function (event) {
note.innerHTML += "<li>Transaction completed.</li>";
};
transaction.onerror = function (event) {
note.innerHTML +=
"<li>Transaction not opened due to error. Duplicate items not allowed.</li>";
};
// 在事务上创建对象存储
var objectStore = transaction.objectStore("toDoList");
console.log(objectStore.indexNames);
// 请求将 newItem 对象 添加到对象存储区
var objectStoreRequest = objectStore.add(newItem[0]);
objectStoreRequest.onsuccess = function (event) {
// 报告我们请求的成功
note.innerHTML += "<li>Request successful.</li>";
};
}
规范
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-indexnames① |
浏览器兼容性
BCD tables only load in the browser
查看其他内容
- 使用 IndexedDB
- 启动事务 :
IDBDatabase
- 使用事务 :
IDBTransaction
- 设置键的范围 :
IDBKeyRange
- 检索和更改数据 :
IDBObjectStore
- 使用游标 :
IDBCursor
- 参考示例 : To-do Notifications (view example live.)