# 分布式数据库操作描述 - [导入模块](#zh-cn_topic_0000001175986853_s56d19203690d4782bfc74069abb6bd71) - [权限](#zh-cn_topic_0000001175986853_section11257113618419) - [KVStore](#zh-cn_topic_0000001175986853_section12882825611) - [put\(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback\): void](#zh-cn_topic_0000001175986853_section1942221513) - [put\(key: string, value: Uint8Array | string | number | boolean\): Promise](#zh-cn_topic_0000001175986853_section43065440019) - [delete\(key: string, callback: AsyncCallback\): void](#zh-cn_topic_0000001175986853_section15564125555713) - [delete\(key: string\): Promise](#zh-cn_topic_0000001175986853_section1298265189) - [on\(event: 'dataChange', type: SubscribeType, observer: Callback\): void](#zh-cn_topic_0000001175986853_section9748071812) - [on\(event: 'syncComplete', syncCallback: Callback\>\): void](#zh-cn_topic_0000001175986853_section06419235582) > **说明:** >从 API Version 7 开始支持。 ## 导入模块 ``` import factory from '@ohos.data.distributeddata'; ``` ## 权限 无 ## KVStore 表示分布式数据库,并提供添加数据、删除数据和订阅数据变更的方法。 ### put\(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback\): void 添加指定类型键值对到数据库。 此方法是异步callback方法。 - 参数: 参数名 类型 说明 key string 要添加数据的key。不能为空且长度不大于1KB。 value Uint8Array | string | number | boolean 存储的新值。支持Uint8Array、number 、 string 、boolean。 Uint8Array的长度小于4M。 callback AsyncCallback<void> 回调函数。 - 返回值: 无 - 示例 ``` kvStore.put('key-001', 'value-001', function(err, value){ }); ``` ### put\(key: string, value: Uint8Array | string | number | boolean\): Promise 添加指定类型键值对到数据库。 此方法是异步promise方法。 - 参数: 参数名 类型 说明 key string 要添加数据的key。不能为空且长度不大于1KB。 value Uint8Array | string | number | boolean 要添加的数据。支持Uint8Array、number 、 string 、boolean。 Uint8Array和string类型的value长度必须小于4MB。 - 返回值: 类型 说明 Promise<void> Promise实例,用于异步处理。 - 示例 ``` const promise = kvStore.put('key-001', 'value-001'); promise.then((data) => { }).catch((err) => { }); ``` ### delete\(key: string, callback: AsyncCallback\): void 从数据库中删除指定键值的数据。 此方法是异步callback方法。 - 参数: 参数名 类型 说明 key string 要删除数据的key。不能为空且长度不大于1KB。 callback AsyncCallback<void> 回调函数。 - 返回值: 无 - 示例 ``` kvStore.delete('key-001', function(err, value){ }); ``` ### delete\(key: string\): Promise 从数据库中删除指定键值的数据。 此方法是异步promise方法。 - 参数: 参数名 类型 说明 key string 要删除数据的key。不能为空且长度不大于1KB。 - 返回值: 类型 说明 Promise<void> Promise实例,用于异步处理。 - 示例 ``` const promise = kvStore.delete('key-001'); promise.then((data) => { }).catch((err) => { }); ``` ### on\(event: 'dataChange', type: SubscribeType, observer: Callback\): void 订阅指定类型的数据更改通知。 此方法是同步方法。 - 参数: 参数名 类型 说明 event 'dataChange' 回调函数名称。 type SubscribeType 表示订阅的类型。具体参考SubscribeType。 observer Callback<ChangeNotification> 回调函数。 - 返回值: 无 - 示例 ``` kvStore.on('dataChange', 0, function(notification){ }); ``` ### on\(event: 'syncComplete', syncCallback: Callback\>\): void 订阅指定类型的数据更改通知。 此方法是同步方法。 - 参数: 参数名 类型 说明 event 'syncComplete' 回调函数名称。 syncCallback Callback<Array<[string, number]>> 回调函数。 - 返回值: 无 - 示例 ``` kvStore.on('syncComplete', function(data){ }); ```
参数名
类型
说明
key
string
要添加数据的key。不能为空且长度不大于1KB。
value
Uint8Array | string | number | boolean
存储的新值。支持Uint8Array、number 、 string 、boolean。
Uint8Array的长度小于4M。
callback
AsyncCallback<void>
回调函数。
要添加的数据。支持Uint8Array、number 、 string 、boolean。
Uint8Array和string类型的value长度必须小于4MB。
Promise<void>
Promise实例,用于异步处理。
要删除数据的key。不能为空且长度不大于1KB。
event
'dataChange'
回调函数名称。
type
SubscribeType
表示订阅的类型。具体参考SubscribeType。
observer
Callback<ChangeNotification>
'syncComplete'
syncCallback
Callback<Array<[string, number]>>