diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
index 93c96717ce46016e99d1c3326bdd61d025b6e87d..e5a6cd1304262e10b753f32a1957d15195e5d796 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
@@ -116,10 +116,10 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ----- | ------ | ------ | ------ | ------ |
-| userInfo | [UserInfo](#userinfo) | 是 | 是 | 调用方的用户信息。 |
-| bundleName | string | 是 | 是 | 调用方的包名。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ----- | ------ | ------ | ------ |
+| userInfo | [UserInfo](#userinfo) | 是 | 调用方的用户信息。 |
+| bundleName | string | 是 | 调用方的包名。 |
## UserInfo
@@ -127,10 +127,10 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ----- | ------ | ------ | ------ | ------ |
-| userId | string | 是 | 是 | 指示要设置的用户ID。 |
-| userType | [UserType](#usertype) | 是 | 是 | 指示要设置的用户类型。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ----- | ------ |------ | ------ |
+| userId | string | 否 | 指示要设置的用户ID。 |
+| userType | [UserType](#usertype) | 否 | 指示要设置的用户类型。 |
## UserType
@@ -509,7 +509,7 @@ try {
on(event: 'distributedDataServiceDie', deathCallback: Callback<void>): void
-订阅服务状态变更通知,此方法为同步方法。
+订阅服务状态变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
@@ -540,7 +540,7 @@ try {
off(event: 'distributedDataServiceDie', deathCallback?: Callback<void>): void
-取消订阅服务状态变更通知,此方法为同步方法。
+取消订阅服务状态变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
@@ -573,15 +573,15 @@ try {
用于提供创建数据库的配置信息。
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ----- | ------ | ------ | ------ | -------------------|
-| createIfMissing | boolean | 是 | 是 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| encrypt | boolean | 是 | 是 |设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| backup | boolean | 是 | 是 |设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| autoSync | boolean | 是 | 是 |设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
-| kvStoreType | [KVStoreType](#kvstoretype) | 是 | 是 |设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| securityLevel | [SecurityLevel](#securitylevel) | 是 | 是 |设置数据库安全级别,默认不设置安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| schema8+ | [Schema](#schema8) | 是 | 是 | 设置定义存储在数据库中的值。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
+| 名称 | 类型 | 必填 | 说明 |
+| ----- | ------ | ------ | -------------------|
+| createIfMissing | boolean | 否 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| encrypt | boolean | 否 |设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| backup | boolean | 否 |设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| autoSync | boolean | 否 |设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
+| kvStoreType | [KVStoreType](#kvstoretype) | 否 |设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| securityLevel | [SecurityLevel](#securitylevel) | 否 |设置数据库安全级别,默认不设置安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| schema8+ | [Schema](#schema8) | 否 | 设置定义存储在数据库中的值。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
## KVStoreType
@@ -2234,17 +2234,17 @@ try {
on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
-订阅指定类型的数据变更通知,此方法为同步方法。
+订阅指定类型的数据变更通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |订阅的事件名,固定为'dataChange',表示数据变更事件。 |
-| type |[SubscribeType](#subscribetype) | 是 |表示订阅的类型。 |
-| listener |Callback<[ChangeNotification](#changenotification)> | 是 |回调函数。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | ---------------------------------------------------- |
+| event | string | 是 | 订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| type | [SubscribeType](#subscribetype) | 是 | 表示订阅的类型。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 是 | 回调函数。 |
**示例:**
@@ -2259,16 +2259,16 @@ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_LOCAL, fun
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
-订阅同步完成事件回调通知,此方法为同步方法。
+订阅同步完成事件回调通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback<Array<[string, number]>> | 是 |回调函数。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------------- | ---- | ------------------------------------------------------ |
+| event | string | 是 | 订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback | Callback<Array<[string, number]>> | 是 | 回调函数。用于向调用方发送同步结果的回调。 |
**示例:**
@@ -2283,16 +2283,18 @@ kvStore.on('syncComplete', function (data) {
off(event:'dataChange', listener?: Callback<ChangeNotification>): void
-取消订阅数据变更通知,此方法为同步方法。
+取消订阅数据变更通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
-| listener |Callback<[ChangeNotification](#changenotification)> |否 |回调函数。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | -------------------------------------------------------- |
+| event | string | 是 | 取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 否 | 回调函数。 |
+
+
**示例:**
@@ -2315,6 +2317,42 @@ class KvstoreModel {
}
```
+### off('syncComplete')8+
+
+off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
+
+取消订阅同步完成事件回调通知。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------------- | ---- | ---------------------------------------------------------- |
+| event | string | 是 | 取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback | Callback<Array<[string, number]>> | 否 | 回调函数。用于向调用方发送同步结果的回调。 |
+
+**示例:**
+
+```js
+let kvStore;
+class KvstoreModel {
+ call(data) {
+ console.log("syncComplete: " + data);
+ }
+ subscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.on('syncComplete', this.call);
+ }
+ }
+ unsubscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.off('syncComplete', this.call);
+ }
+ }
+}
+```
+
### putBatch8+
putBatch(entries: Entry[], callback: AsyncCallback<void>): void
@@ -2889,12 +2927,12 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 |可读 |可写 | 说明 |
-| ----- | ------- | -----| ------|------------------------ |
-| insertEntries | [Entry](#entry)[] | 是 | 是 |数据添加记录。 |
-| updateEntries | [Entry](#entry)[] | 是 | 是 |数据更新记录。 |
-| deleteEntries | [Entry](#entry)[] | 是 | 是 |数据删除记录。 |
-| deviceId | string | 是 | 是 |设备ID,此处为设备UUID。 |
+| 名称 | 类型 |必填 | 说明 |
+| ----- | ------- | ------|------------------------ |
+| insertEntries | [Entry](#entry)[] | 是 |数据添加记录。 |
+| updateEntries | [Entry](#entry)[] | 是 |数据更新记录。 |
+| deleteEntries | [Entry](#entry)[] | 是 |数据删除记录。 |
+| deviceId | string | 是 |设备ID,此处为设备UUID。 |
## Entry
@@ -2902,10 +2940,10 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 |可读 |可写 | 说明 |
-| ----- | ------- | -----| ------|------------------------ |
-| key | string | 是 | 是 |键值。 |
-| value | [Value](#value) | 是 | 是 |值对象。 |
+| 名称 | 类型 |必填 | 说明 |
+| ----- | ------- | ------|------------------------ |
+| key | string | 是 |键值。 |
+| value | [Value](#value) | 是 |值对象。 |
## Value
@@ -2914,10 +2952,10 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 |可读 |可写 | 说明 |
-| ----- | ------- | -----| ------|------------------------ |
-| type | [ValueType](#value) | 是 | 是 |值类型。 |
-| value | Uint8Array \| string \| number \| boolean| 是 | 是 |值。 |
+| 名称 | 类型 |必填 | 说明 |
+| ----- | ------- | ------|------------------------ |
+| type | [ValueType](#value) | 是 |值类型。 |
+| value | Uint8Array \| string \| number \| boolean| 是 |值。 |
## ValueType
@@ -3711,21 +3749,71 @@ try {
}
```
+### sync
+
+
+sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
+
+在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+
+**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | --------------------- | ---- | ---------------------------------------------- |
+| deviceIds | string[] | 是 | 同一组网环境下,需要同步的设备的deviceId列表。 |
+| mode | [SyncMode](#syncmode) | 是 | 同步模式。 |
+| delayMs | number | 否 | 可选参数,允许延时时间,单位:ms(毫秒)。 |
+
+**示例:**
+
+```js
+let kvStore;
+kvStore.sync(['deviceIds'], distributedData.SyncMode.PULL_ONLY, 1000);
+```
+
+### on('dataChange')8+
+
+on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
+
+订阅指定类型的数据变更通知。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | ---------------------------------------------------- |
+| event | string | 是 | 订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| type | [SubscribeType](#subscribetype) | 是 | 表示订阅的类型。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 是 | 回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_LOCAL, function (data) {
+ console.log("dataChange callback call data: " + JSON.stringify(data));
+});
+```
### on('syncComplete')8+
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
-订阅同步完成事件回调通知,此方法为同步方法。
+订阅同步完成事件回调通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback<Array<[string, number]>> | 是 |回调函数。用于向调用方发送同步结果的回调。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------------- | ---- | ------------------------------------------------------ |
+| event | string | 是 | 订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback | Callback<Array<[string, number]>> | 是 | 回调函数。用于向调用方发送同步结果的回调。 |
**示例:**
@@ -3747,21 +3835,20 @@ try {
}
```
+### off('dataChange')8+
-### off('syncComplete')8+
-
-off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
+off(event:'dataChange', listener?: Callback<ChangeNotification>): void
-取消订阅同步完成事件回调通知,此方法为同步方法。
+取消订阅数据变更通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback<Array<[string, number]>> | 否 |回调函数。用于向调用方发送同步结果的回调。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | -------------------------------------------------------- |
+| event | string | 是 | 取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 否 | 回调函数。 |
**示例:**
@@ -3769,45 +3856,55 @@ off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]&
let kvStore;
class KvstoreModel {
call(data) {
- console.log("syncComplete: " + data);
+ console.log("dataChange: " + data);
}
- subscribeSyncComplete() {
+ subscribeDataChange() {
if (kvStore != null) {
- kvStore.on('syncComplete', this.call);
+ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_REMOTE, this.call);
}
}
- unsubscribeSyncComplete() {
+ unsubscribeDataChange() {
if (kvStore != null) {
- kvStore.off('syncComplete', this.call);
+ kvStore.off('dataChange', this.call);
}
}
}
```
-### sync7+
-
-
-sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
+### off('syncComplete')8+
-在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
-**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
+取消订阅同步完成事件回调通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| deviceIds |string[] | 是 |同一组网环境下,需要同步的设备的deviceId列表。 |
-| mode |[SyncMode](#syncmode) | 是 |同步模式。 |
-| delayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------------- | ---- | ---------------------------------------------------------- |
+| event | string | 是 | 取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback | Callback<Array<[string, number]>> | 否 | 回调函数。用于向调用方发送同步结果的回调。 |
**示例:**
```js
let kvStore;
-kvStore.sync('deviceIds', distributedData.SyncMode.PULL_ONLY, 1000);
+class KvstoreModel {
+ call(data) {
+ console.log("syncComplete: " + data);
+ }
+ subscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.on('syncComplete', this.call);
+ }
+ }
+ unsubscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.off('syncComplete', this.call);
+ }
+ }
+}
```
### setSyncParam8+
@@ -5077,20 +5174,45 @@ try {
}
```
+### on('dataChange')8+
+
+on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
+
+订阅指定类型的数据变更通知。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | ---------------------------------------------------- |
+| event | string | 是 | 订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| type | [SubscribeType](#subscribetype) | 是 | 表示订阅的类型。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 是 | 回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_LOCAL, function (data) {
+ console.log("dataChange callback call data: " + JSON.stringify(data));
+});
+```
+
### on('syncComplete')8+
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
-订阅同步完成事件回调通知,此方法为同步方法。
+订阅同步完成事件回调通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback | 是 |回调函数。用于向调用方发送同步结果的回调。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------------- | ---- | ------------------------------------------------------ |
+| event | string | 是 | 订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback | Callback<Array<[string, number]>> | 是 | 回调函数。用于向调用方发送同步结果的回调。 |
**示例:**
@@ -5112,21 +5234,56 @@ try {
}
```
+### off('dataChange')8+
+
+off(event:'dataChange', listener?: Callback<ChangeNotification>): void
+
+取消订阅数据变更通知。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------- | ---- | -------------------------------------------------------- |
+| event | string | 是 | 取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| listener | Callback<[ChangeNotification](#changenotification)> | 否 | 回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+class KvstoreModel {
+ call(data) {
+ console.log("dataChange: " + data);
+ }
+ subscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_REMOTE, this.call);
+ }
+ }
+ unsubscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.off('dataChange', this.call);
+ }
+ }
+}
+```
### off('syncComplete')8+
off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
-取消订阅同步完成事件回调通知,此方法为同步方法。
+取消订阅同步完成事件回调通知。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| event |string | 是 |取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback **说明:**
>
@@ -26,10 +26,10 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ---------- | --------------------- | ---- | ---- | ------------------------------------------------------------ |
-| context | Context | 是 | 是 |应用的上下文。
FA模型的应用Context定义见[Context](js-apis-Context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
-| bundleName | string | 是 | 是 | 调用方的包名。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ---------- | --------------------- | ---- | ------------------------------------------------------------ |
+| context | Context | 是 |应用的上下文。
FA模型的应用Context定义见[Context](js-apis-Context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
+| bundleName | string | 是 | 调用方的包名。 |
## Constants
@@ -67,10 +67,10 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 |可读 |可写 | 说明 |
-| ----- | ------- | -----| ------|------------------------ |
-| type | [ValueType](#valuetype) | 是 | 是 |值类型。 |
-| value | Uint8Array \| string \| number \| boolean| 是 | 是 |值。 |
+| 名称 | 类型 |必填 | 说明 |
+| ----- | ------- |-----|------------------------ |
+| type | [ValueType](#valuetype) | 是|值类型。 |
+| value | Uint8Array \| string \| number \| boolean| 是|值。 |
## Entry
@@ -78,10 +78,10 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ----- | --------------- | ---- | ---- | -------- |
-| key | string | 是 | 是 | 键值。 |
-| value | [Value](#value) | 是 | 是 | 值对象。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ----- | --------------- | ---- | -------- |
+| key | string | 是 | 键值。 |
+| value | [Value](#value) | 是 | 值对象。 |
## ChangeNotification
@@ -89,12 +89,12 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| ------------- | ----------------- | ---- | ---- | ------------------------ |
-| insertEntries | [Entry](#entry)[] | 是 | 是 | 数据添加记录。 |
-| updateEntries | [Entry](#entry)[] | 是 | 是 | 数据更新记录。 |
-| deleteEntries | [Entry](#entry)[] | 是 | 是 | 数据删除记录。 |
-| deviceId | string | 是 | 是 | 设备ID,此处为设备UUID。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ------------- | ----------------- | ---- | ------------------------ |
+| insertEntries | [Entry](#entry)[] | 是 | 数据添加记录。 |
+| updateEntries | [Entry](#entry)[] | 是 | 数据更新记录。 |
+| deleteEntries | [Entry](#entry)[] | 是 | 数据删除记录。 |
+| deviceId | string | 是 | 设备ID,此处为设备UUID。 |
## SyncMode
@@ -146,15 +146,15 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
用于提供创建数据库的配置信息。
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| --------------- | ------------------------------- | ---- | ---- | ------------------------------------------------------------ |
-| createIfMissing | boolean | 是 | 是 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| encrypt | boolean | 是 | 是 | 设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| backup | boolean | 是 | 是 | 设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| autoSync | boolean | 是 | 是 | 设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
-| kvStoreType | [KVStoreType](#kvstoretype) | 是 | 是 | 设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| securityLevel | [SecurityLevel](#securitylevel) | 是 | 是 |设置数据库安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| schema | [Schema](#schema) | 是 | 是 | 设置定义存储在数据库中的值,默认不使用Schema。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
+| 名称 | 类型 | 必填 | 说明 |
+| --------------- | -------------- | ---- | -------------------------|
+| createIfMissing | boolean | 否 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| encrypt | boolean | 否 | 设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| backup | boolean | 否 | 设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| autoSync | boolean | 否 | 设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
+| kvStoreType | [KVStoreType](#kvstoretype) | 否 | 设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| securityLevel | [SecurityLevel](#securitylevel) | 是 |设置数据库安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
+| schema | [Schema](#schema) | 否 | 设置定义存储在数据库中的值,默认不使用Schema。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
## Schema
@@ -790,7 +790,7 @@ try {
on(event: 'distributedDataServiceDie', deathCallback: Callback<void>): void
-订阅服务状态变更通知,此方法为同步方法。
+订阅服务状态变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
@@ -820,7 +820,7 @@ try {
off(event: 'distributedDataServiceDie', deathCallback?: Callback<void>): void
-取消订阅服务状态变更通知,此方法为同步方法。
+取消订阅服务状态变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
@@ -850,7 +850,7 @@ try {
提供获取数据库结果集的相关方法,包括查询和移动数据读取位置等。
-在调用KVStoreResultSet的方法前,需要先通过[getKVStore](#getkvstore)构建一个KvStore(SingleKVStore或者DeviceKVStore)实例。
+在调用KVStoreResultSet的方法前,需要先通过[getKVStore](#getkvstore)构建一个SingleKVStore或者DeviceKVStore实例。
### getCount
@@ -2188,7 +2188,7 @@ put(key: string, value: Uint8Array | string | number | boolean, callback: AsyncC
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2237,7 +2237,7 @@ put(key: string, value: Uint8Array | string | number | boolean): Promise<void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2278,7 +2278,7 @@ putBatch(entries: Entry[], callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2345,7 +2345,7 @@ putBatch(entries: Entry[]): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2405,7 +2405,7 @@ putBatch(value: Array<ValuesBucket>, callback: AsyncCallback<void>):
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2462,7 +2462,7 @@ putBatch(value: Array<ValuesBucket>): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2510,8 +2510,7 @@ delete(key: string, callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2566,8 +2565,7 @@ delete(key: string): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2615,8 +2613,7 @@ delete(predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallb
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2666,8 +2663,7 @@ delete(predicates: dataSharePredicates.DataSharePredicates): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2716,8 +2712,7 @@ deleteBatch(keys: string[], callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2785,8 +2780,7 @@ deleteBatch(keys: string[]): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2844,7 +2838,7 @@ removeDeviceData(deviceId: string, callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2898,7 +2892,7 @@ removeDeviceData(deviceId: string): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -2951,7 +2945,7 @@ get(key: string, callback: AsyncCallback)
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3007,7 +3001,7 @@ get(key: string): Promise<boolean | string| number | Uint8Array>
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3053,7 +3047,7 @@ getEntries(keyPrefix: string, callback: AsyncCallback<Entry[]>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3121,7 +3115,7 @@ getEntries(keyPrefix: string): Promise<Entry[]>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3179,8 +3173,7 @@ getEntries(query: Query, callback: AsyncCallback<Entry[]>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3247,8 +3240,7 @@ getEntries(query: Query): Promise<Entry[]>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3309,7 +3301,7 @@ getResultSet(keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>)
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3383,7 +3375,7 @@ getResultSet(keyPrefix: string): Promise<KVStoreResultSet>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3446,7 +3438,7 @@ getResultSet(query: Query, callback: AsyncCallback<KVStoreResultSet>): voi
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3514,7 +3506,7 @@ getResultSet(query: Query): Promise<KVStoreResultSet>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3576,7 +3568,7 @@ getResultSet(predicates: dataSharePredicates.DataSharePredicates, callback: Asyn
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3637,7 +3629,7 @@ getResultSet(predicates: dataSharePredicates.DataSharePredicates): Promise<KV
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3756,7 +3748,7 @@ getResultSize(query: Query, callback: AsyncCallback<number>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3819,7 +3811,7 @@ getResultSize(query: Query): Promise<number>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3876,8 +3868,7 @@ backup(file:string, callback: AsyncCallback<void>):void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3923,8 +3914,7 @@ backup(file:string): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -3963,8 +3953,7 @@ restore(file:string, callback: AsyncCallback<void>):void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4010,8 +3999,7 @@ restore(file:string): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4118,7 +4106,7 @@ startTransaction(callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4186,7 +4174,7 @@ startTransaction(): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4228,7 +4216,7 @@ commit(callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4267,7 +4255,7 @@ commit(): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4304,7 +4292,7 @@ rollback(callback: AsyncCallback<void>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4343,7 +4331,7 @@ rollback(): Promise<void>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4600,10 +4588,24 @@ sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
```js
let kvStore;
+const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
+const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
try {
- kvStore.sync('deviceIds', distributedKVStore.SyncMode.PULL_ONLY, 1000);
-} catch (err) {
- console.error(`Fail to syn.code is ${err.code},message is ${err.message}`);
+ kvStore.on('syncComplete', function (data) {
+ console.log('Sync dataChange');
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to sync.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in putting data');
+ const devices = ['deviceList'];
+ const mode = distributedKVStore.SyncMode.PULL_ONLY;
+ kvStore.sync(devices, mode, 1000);
+ });
+} catch (e) {
+ console.error(`Fail to sync.code is ${e.code},message is ${e.message}`);
}
```
@@ -4667,7 +4669,7 @@ try {
on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
-订阅指定类型的数据变更通知,此方法为同步方法。
+订阅指定类型的数据变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -4686,7 +4688,7 @@ on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotific
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100001 | Over max subscribe limits. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4705,7 +4707,7 @@ try {
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
-订阅同步完成事件回调通知,此方法为同步方法。
+订阅同步完成事件回调通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -4740,7 +4742,7 @@ try {
off(event:'dataChange', listener?: Callback<ChangeNotification>): void
-取消订阅数据变更通知,此方法为同步方法。
+取消订阅数据变更通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -4757,7 +4759,7 @@ off(event:'dataChange', listener?: Callback<ChangeNotification>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4794,7 +4796,7 @@ class KvstoreModel {
off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
-取消订阅同步完成事件回调通知,此方法为同步方法。
+取消订阅同步完成事件回调通知。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -4856,7 +4858,7 @@ getSecurityLevel(callback: AsyncCallback<SecurityLevel>): void
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4895,7 +4897,7 @@ getSecurityLevel(): Promise<SecurityLevel>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -4924,6 +4926,109 @@ try {
### get
+get(key: string, callback: AsyncCallback): void
+
+获取本设备指定键的值,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
+| key | string | 是 | 要查询数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#constants)。 |
+| callback | AsyncCallback<boolean \| string \| number \| Uint8Array> | 是 | 回调函数。返回获取查询的值。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100004 | Not found. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+const KEY_TEST_STRING_ELEMENT = 'key_test_string';
+const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
+try {
+ kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to put.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log("Succeeded in putting");
+ kvStore.get(KEY_TEST_STRING_ELEMENT, function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to get.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log(`Succeeded in getting data.data=${data}`);
+ });
+ });
+} catch (e) {
+ console.error(`Fail to get.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### get
+
+get(key: string): Promise<boolean | string| number | Uint8Array>
+
+获取本设备指定键的值,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | ------------------------------------------------------------ |
+| key | string | 是 | 要查询数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#constants)。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------------------------------------------------------- | ------------------------------- |
+| Promise<Uint8Array \| string \| boolean \| number> | Promise对象。返回获取查询的值。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100004 | Not found. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+const KEY_TEST_STRING_ELEMENT = 'key_test_string';
+const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
+try {
+ kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((data) => {
+ console.log(`Succeeded in putting data.data=${data}`);
+ kvStore.get(KEY_TEST_STRING_ELEMENT).then((data) => {
+ console.log(`Succeeded in getting data.data=${data}`);
+ }).catch((err) => {
+ console.error(`Fail to get.code is ${err.code},message is ${err.message}`);
+ });
+ }).catch((err) => {
+ console.error(`Fail to put.code is ${err.code},message is ${err.message}`);
+ });
+} catch (e) {
+ console.error(`Fail to get.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### get
+
get(deviceId: string, key: string, callback: AsyncCallback<boolean|string|number|Uint8Array>): void
获取与指定设备ID和key匹配的string值,使用callback异步回调。
@@ -4946,7 +5051,7 @@ get(deviceId: string, key: string, callback: AsyncCallback<boolean|string|num
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5003,7 +5108,7 @@ get(deviceId: string, key: string): Promise<boolean|string|number|Uint8Array&
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
| 15100004 | Not found. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5029,19 +5134,18 @@ try {
### getEntries
-getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry[]>): void
+getEntries(keyPrefix: string, callback: AsyncCallback<Entry[]>): void
-获取与指定设备ID和key前缀匹配的所有键值对,使用callback异步回调。
+获取匹配本设备指定键前缀的所有键值对,使用callback异步回调。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| --------- | -------------------------------------- | ---- | ---------------------------------------------- |
-| deviceId | string | 是 | 标识要查询其数据的设备。 |
-| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
-| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数,返回满足给定条件的所有键值对的列表。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | -------------------------------------- | ---- | ---------------------------------------- |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
+| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回匹配指定前缀的键值对列表。 |
**错误码:**
@@ -5050,7 +5154,7 @@ getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5069,48 +5173,47 @@ try {
}
entries.push(entry);
}
- console.log(`entries : ${entries}`);
+ console.log(`entries: ${entries}`);
kvStore.putBatch(entries, async function (err, data) {
if (err != undefined) {
- console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to put Batch.code is ${err.code},message is ${err.message}`);
return;
}
- console.log('Succeeded in putting batch');
- kvStore.getEntries('localDeviceId', 'batch_test_string_key', function (err, entries) {
+ console.log('Succeeded in putting Batch');
+ kvStore.getEntries('batch_test_string_key', function (err, entries) {
if (err != undefined) {
- console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to get Entries.code is ${err.code},message is ${err.message}`);
return;
}
- console.log('Succeeded in getting entries');
+ console.log('Succeeded in getting Entries');
console.log(`entries.length: ${entries.length}`);
console.log(`entries[0]: ${entries[0]}`);
});
});
} catch (e) {
- console.error(`Fail to put batch.code is ${e.code},message is ${e.message}`);
+ console.error(`An unexpected error occurred.code is ${e.code},message is ${e.message} `);
}
```
### getEntries
-getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>
+getEntries(keyPrefix: string): Promise<Entry[]>
-获取与指定设备ID和key前缀匹配的所有键值对,使用Promise异步回调。
+获取匹配本设备指定键前缀的所有键值对,使用Promise异步回调。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| --------- | -------- | ---- | ------------------------ |
-| deviceId | string | 是 | 标识要查询其数据的设备。 |
-| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------ | ---- | -------------------- |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
**返回值:**
-| 类型 | 说明 |
-| -------------------------------- | ------------------------------------------------- |
-| Promise<[Entry](#entry)[]> | Promise对象。返回匹配给定条件的所有键值对的列表。 |
+| 类型 | 说明 |
+| -------------------------------- | ------------------------------------------- |
+| Promise<[Entry](#entry)[]> | Promise对象。返回匹配指定前缀的键值对列表。 |
**错误码:**
@@ -5119,7 +5222,7 @@ getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5139,40 +5242,37 @@ try {
entries.push(entry);
}
console.log(`entries: ${entries}`);
- kvStore.putBatch(entries).then(async (err) => {
- console.log('Succeeded in putting batch');
- kvStore.getEntries('localDeviceId', 'batch_test_string_key').then((entries) => {
- console.log('Succeeded in getting entries');
- console.log(`entries.length: ${entries.length}`);
- console.log(`entries[0]: ${entries[0]}`);
- console.log(`entries[0].value: ${entries[0].value}`);
- console.log(`entries[0].value.value: ${entries[0].value.value}`);
+ kvStore.putBatch(entries).then(async (entries) => {
+ console.log('Succeeded in putting Batch');
+ kvStore.getEntries('batch_test_string_key').then((entries) => {
+ console.log('Succeeded in getting Entries');
+ console.log(`PutBatch ${entries}`);
}).catch((err) => {
- console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to get Entries.code is ${err.code},message is ${err.message}`);
});
}).catch((err) => {
- console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to put Batch.code is ${err.code},message is ${err.message}`);
});
} catch (e) {
- console.error(`Fail to put batch.code is ${e.code},message is ${e.message}`);
-}
+ console.error(`An unexpected error occurred.code is ${e.code},message is ${e.message} `);
+}
```
### getEntries
-getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>): void
+getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry[]>): void
-获取与指定设备ID和Query对象匹配的键值对列表,使用callback异步回调。
+获取与指定设备ID和key前缀匹配的所有键值对,使用callback异步回调。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| -------- | -------------------------------------- | ---- | ------------------------------------------------------- |
-| deviceId | string | 是 | 键值对所属的设备ID。 |
-| query | [Query](query) | 是 | 表示查询对象。 |
-| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的键值对列表。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | -------------------------------------- | ---- | ---------------------------------------------- |
+| deviceId | string | 是 | 标识要查询其数据的设备。 |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
+| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数,返回满足给定条件的所有键值对的列表。 |
**错误码:**
@@ -5181,38 +5281,33 @@ getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
```js
let kvStore;
try {
- var arr = new Uint8Array([21, 31]);
let entries = [];
for (var i = 0; i < 10; i++) {
- var key = 'batch_test_bool_key';
+ var key = 'batch_test_string_key';
var entry = {
key: key + i,
value: {
- type: distributedKVStore.ValueType.BYTE_ARRAY,
- value: arr
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
}
}
entries.push(entry);
}
- console.log(`entries: ${entries}`);
+ console.log(`entries : ${entries}`);
kvStore.putBatch(entries, async function (err, data) {
if (err != undefined) {
console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
return;
}
console.log('Succeeded in putting batch');
- var query = new distributedKVStore.Query();
- query.deviceId('localDeviceId');
- query.prefixKey("batch_test");
- kvStore.getEntries('localDeviceId', query, function (err, entries) {
+ kvStore.getEntries('localDeviceId', 'batch_test_string_key', function (err, entries) {
if (err != undefined) {
console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
return;
@@ -5220,34 +5315,33 @@ try {
console.log('Succeeded in getting entries');
console.log(`entries.length: ${entries.length}`);
console.log(`entries[0]: ${entries[0]}`);
- })
+ });
});
- console.log('Succeeded in getting entries');
} catch (e) {
- console.error(`Fail to get entries.code is ${e.code},message is ${e.message}`);
+ console.error(`Fail to put batch.code is ${e.code},message is ${e.message}`);
}
```
### getEntries
-getEntries(deviceId: string, query: Query): Promise<Entry[]>
+getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>
-获取与指定设备ID和Query对象匹配的键值对列表,使用Promise异步回调。
+获取与指定设备ID和key前缀匹配的所有键值对,使用Promise异步回调。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| -------- | -------------- | ---- | -------------------- |
-| deviceId | string | 是 | 键值对所属的设备ID。 |
-| query | [Query](query) | 是 | 表示查询对象。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | -------- | ---- | ------------------------ |
+| deviceId | string | 是 | 标识要查询其数据的设备。 |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
**返回值:**
-| 类型 | 说明 |
-| -------------------------------- | ---------------------------------------------------------- |
-| Promise<[Entry](#entry)[]> | Promise对象。返回与指定设备ID和Query对象匹配的键值对列表。 |
+| 类型 | 说明 |
+| -------------------------------- | ------------------------------------------------- |
+| Promise<[Entry](#entry)[]> | Promise对象。返回匹配给定条件的所有键值对的列表。 |
**错误码:**
@@ -5256,23 +5350,21 @@ getEntries(deviceId: string, query: Query): Promise<Entry[]>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100005 | Not support the operation. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
```js
let kvStore;
try {
- var arr = new Uint8Array([21, 31]);
let entries = [];
for (var i = 0; i < 10; i++) {
- var key = 'batch_test_bool_key';
+ var key = 'batch_test_string_key';
var entry = {
key: key + i,
value: {
- type: distributedKVStore.ValueType.BYTE_ARRAY,
- value: arr
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
}
}
entries.push(entry);
@@ -5280,35 +5372,437 @@ try {
console.log(`entries: ${entries}`);
kvStore.putBatch(entries).then(async (err) => {
console.log('Succeeded in putting batch');
- var query = new distributedKVStore.Query();
- query.deviceId('localDeviceId');
- query.prefixKey("batch_test");
- kvStore.getEntries('localDeviceId', query).then((entries) => {
+ kvStore.getEntries('localDeviceId', 'batch_test_string_key').then((entries) => {
console.log('Succeeded in getting entries');
+ console.log(`entries.length: ${entries.length}`);
+ console.log(`entries[0]: ${entries[0]}`);
+ console.log(`entries[0].value: ${entries[0].value}`);
+ console.log(`entries[0].value.value: ${entries[0].value.value}`);
}).catch((err) => {
console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
});
}).catch((err) => {
console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
});
- console.log('Succeeded in getting entries');
} catch (e) {
- console.error(`Fail to get entries.code is ${e.code},message is ${e.message}`);
-}
+ console.error(`Fail to put batch.code is ${e.code},message is ${e.message}`);
+}
```
-### getResultSet
+### getEntries
-getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void
+getEntries(query: Query, callback: AsyncCallback<Entry[]>): void
-获取与指定设备ID和key前缀匹配的KVStoreResultSet对象,使用callback异步回调。
+获取本设备与指定Query对象匹配的键值对列表,使用callback异步回调。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| --------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------------------------------- | ---- | ----------------------------------------------------- |
+| query | [Query](query) | 是 | 表示要匹配的键前缀。 |
+| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回本设备与指定Query对象匹配的键值对列表。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21, 31]);
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_bool_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.BYTE_ARRAY,
+ value: arr
+ }
+ }
+ entries.push(entry);
+ }
+ console.log(`entries: {entries}`);
+ kvStore.putBatch(entries, async function (err, data) {
+ console.log('Succeeded in putting Batch');
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getEntries(query, function (err, entries) {
+ if (err != undefined) {
+ console.error(`Fail to get Entries.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in getting Entries');
+ console.log(`entries.length: ${entries.length}`);
+ console.log(`entries[0]: ${entries[0]}`);
+ });
+ });
+} catch (e) {
+ console.error(`Fail to get Entries.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getEntries
+
+getEntries(query: Query): Promise<Entry[]>
+
+获取本设备与指定Query对象匹配的键值对列表,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | -------------- | ---- | -------------- |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------------------------------- | -------------------------------------------------------- |
+| Promise<[Entry](#entry)[]> | Promise对象。返回本设备与指定Query对象匹配的键值对列表。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21, 31]);
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_bool_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.BYTE_ARRAY,
+ value: arr
+ }
+ }
+ entries.push(entry);
+ }
+ console.log(`entries: {entries}`);
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting Batch');
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getEntries(query).then((entries) => {
+ console.log('Succeeded in getting Entries');
+ }).catch((err) => {
+ console.error(`Fail to get Entries.code is ${err.code},message is ${err.message}`);
+ });
+ }).catch((err) => {
+ console.error(`Fail to get Entries.code is ${err.code},message is ${err.message}`)
+ });
+ console.log('Succeeded in getting Entries');
+} catch (e) {
+ console.error(`Fail to get Entries.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getEntries
+
+getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>): void
+
+获取与指定设备ID和Query对象匹配的键值对列表,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------------------------------- | ---- | ------------------------------------------------------- |
+| deviceId | string | 是 | 键值对所属的设备ID。 |
+| query | [Query](query) | 是 | 表示查询对象。 |
+| callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的键值对列表。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21, 31]);
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_bool_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.BYTE_ARRAY,
+ value: arr
+ }
+ }
+ entries.push(entry);
+ }
+ console.log(`entries: ${entries}`);
+ kvStore.putBatch(entries, async function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in putting batch');
+ var query = new distributedKVStore.Query();
+ query.deviceId('localDeviceId');
+ query.prefixKey("batch_test");
+ kvStore.getEntries('localDeviceId', query, function (err, entries) {
+ if (err != undefined) {
+ console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in getting entries');
+ console.log(`entries.length: ${entries.length}`);
+ console.log(`entries[0]: ${entries[0]}`);
+ })
+ });
+ console.log('Succeeded in getting entries');
+} catch (e) {
+ console.error(`Fail to get entries.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getEntries
+
+getEntries(deviceId: string, query: Query): Promise<Entry[]>
+
+获取与指定设备ID和Query对象匹配的键值对列表,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------- | ---- | -------------------- |
+| deviceId | string | 是 | 键值对所属的设备ID。 |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------------------------------- | ---------------------------------------------------------- |
+| Promise<[Entry](#entry)[]> | Promise对象。返回与指定设备ID和Query对象匹配的键值对列表。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21, 31]);
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_bool_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.BYTE_ARRAY,
+ value: arr
+ }
+ }
+ entries.push(entry);
+ }
+ console.log(`entries: ${entries}`);
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ var query = new distributedKVStore.Query();
+ query.deviceId('localDeviceId');
+ query.prefixKey("batch_test");
+ kvStore.getEntries('localDeviceId', query).then((entries) => {
+ console.log('Succeeded in getting entries');
+ }).catch((err) => {
+ console.error(`Fail to get entries.code is ${err.code},message is ${err.message}`);
+ });
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ console.log('Succeeded in getting entries');
+} catch (e) {
+ console.error(`Fail to get entries.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getResultSet
+
+getResultSet(keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void
+
+从DeviceKVStore数据库中获取本设备具有指定前缀的结果集,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ---------------------------------------------------------- | ---- | ------------------------------------ |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
+| callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数。返回具有指定前缀的结果集。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries, async function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in putting batch');
+ kvStore.getResultSet('batch_test_string_key', async function (err, result) {
+ if (err != undefined) {
+ console.error(`Fail to get resultset.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in getting result set');
+ resultSet = result;
+ kvStore.closeResultSet(resultSet, function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to close resultset.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in closing result set');
+ })
+ });
+ });
+} catch (e) {
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getResultSet
+
+getResultSet(keyPrefix: string): Promise<KVStoreResultSet>
+
+从DeviceKVStore数据库中获取本设备具有指定前缀的结果集,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------ | ---- | -------------------- |
+| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------------------------------------------- | --------------------------------------- |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回具有指定前缀的结果集。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ kvStore.getResultSet('batch_test_string_key').then((result) => {
+ console.log('Succeeded in getting result set');
+ resultSet = result;
+ }).catch((err) => {
+ console.error(`Fail to get resultset.code is ${err.code},message is ${err.message}`);
+ });
+ kvStore.closeResultSet(resultSet).then((err) => {
+ console.log('Succeeded in closing result set');
+ }).catch((err) => {
+ console.error(`Fail to close resultset.code is ${err.code},message is ${err.message}`);
+ });
+} catch (e) {
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
+}
+```
+
+### getResultSet
+
+getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void
+
+获取与指定设备ID和key前缀匹配的KVStoreResultSet对象,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| deviceId | string | 是 | 标识要查询其数据的设备。 |
| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
| callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
@@ -5320,7 +5814,7 @@ getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KVS
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5365,9 +5859,272 @@ getResultSet(deviceId: string, keyPrefix: string): Promise<KVStoreResultSet&g
**返回值:**
-| 类型 | 说明 |
-| ------------------------------------------------------ | ------------------------------------------------------------ |
-| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
+| 类型 | 说明 |
+| ------------------------------------------------------ | ------------------------------------------------------------ |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ kvStore.getResultSet('localDeviceId', 'batch_test_string_key').then((result) => {
+ console.log('Succeeded in getting resultSet');
+ resultSet = result;
+ }).catch((err) => {
+ console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
+ });
+ kvStore.closeResultSet(resultSet).then((err) => {
+ console.log('Succeeded in closing resultSet');
+ }).catch((err) => {
+ console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
+ });
+} catch (e) {
+ console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getResultSet
+
+getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KVStoreResultSet>): void
+
+获取与指定设备ID和Query对象匹配的KVStoreResultSet对象,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
+| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
+| query | [Query](query) | 是 | 表示查询对象。 |
+| callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries, async function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in putting batch');
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSet('localDeviceId', query, async function (err, result) {
+ if (err != undefined) {
+ console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in getting resultSet');
+ resultSet = result;
+ kvStore.closeResultSet(resultSet, function (err, data) {
+ if (err != undefined) {
+ console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in closing resultSet');
+ })
+ });
+ });
+} catch (e) {
+ console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getResultSet
+
+getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet>
+
+获取与指定设备ID和Query对象匹配的KVStoreResultSet对象,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------- | ---- | ---------------------------------- |
+| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------------------------------------------------ | ------------------------------------------------------------ |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSet('localDeviceId', query).then((result) => {
+ console.log('Succeeded in getting resultSet');
+ resultSet = result;
+ }).catch((err) => {
+ console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
+ });
+ query.deviceId('localDeviceId');
+ console.log("GetResultSet " + query.getSqlLike());
+ kvStore.closeResultSet(resultSet).then((err) => {
+ console.log('Succeeded in closing resultSet');
+ }).catch((err) => {
+ console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
+ });
+
+} catch (e) {
+ console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
+}
+```
+
+### getResultSet
+
+getResultSet(query: Query): Promise<KVStoreResultSet>
+
+获取与本设备指定Query对象匹配的KVStoreResultSet对象,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | -------------- | ---- | -------------- |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------------------------------------------- | ------------------------------------------------------------ |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。获取与本设备指定Query对象匹配的KVStoreResultSet对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSet(query).then((result) => {
+ console.log('Succeeded in getting result set');
+ resultSet = result;
+ }).catch((err) => {
+ console.error(`Fail to get resultset.code is ${err.code},message is ${err.message}`);
+ });
+} catch (e) {
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
+}
+```
+
+### getResultSet
+
+getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet>
+
+获取与指定设备ID和Query对象匹配的KVStoreResultSet对象,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------- | ---- | ---------------------------------- |
+| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------------------------------------------- | ------------------------------------------------------------ |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
**错误码:**
@@ -5376,7 +6133,7 @@ getResultSet(deviceId: string, keyPrefix: string): Promise<KVStoreResultSet&g
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5384,17 +6141,39 @@ getResultSet(deviceId: string, keyPrefix: string): Promise<KVStoreResultSet&g
let kvStore;
try {
let resultSet;
- kvStore.getResultSet('localDeviceId', 'batch_test_string_key').then((result) => {
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSet('localDeviceId', query).then((result) => {
console.log('Succeeded in getting resultSet');
resultSet = result;
}).catch((err) => {
console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
});
+ query.deviceId('localDeviceId');
+ console.log("GetResultSet " + query.getSqlLike());
kvStore.closeResultSet(resultSet).then((err) => {
console.log('Succeeded in closing resultSet');
}).catch((err) => {
console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
});
+
} catch (e) {
console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
}
@@ -5402,19 +6181,20 @@ try {
### getResultSet
-getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KVStoreResultSet>): void
+getResultSet(predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback<KVStoreResultSet>): void
-获取与指定设备ID和Query对象匹配的KVStoreResultSet对象,使用callback异步回调。
+获取与本设备指定Predicate对象匹配的KVStoreResultSet对象,使用callback异步回调。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+**系统接口:** 此接口为系统接口。
+
+**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
-| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
-| query | [Query](query) | 是 | 表示查询对象。 |
-| callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
+| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
+| callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数,获取与指定Predicates对象匹配的KVStoreResultSet对象。 |
**错误码:**
@@ -5423,75 +6203,59 @@ getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KVStoreR
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
```js
+import dataSharePredicates from '@ohos.data.dataSharePredicates';
+
let kvStore;
try {
let resultSet;
- let entries = [];
- for (var i = 0; i < 10; i++) {
- var key = 'batch_test_string_key';
- var entry = {
- key: key + i,
- value: {
- type: distributedKVStore.ValueType.STRING,
- value: 'batch_test_string_value'
- }
- }
- entries.push(entry);
- }
- kvStore.putBatch(entries, async function (err, data) {
+ let predicates = new dataSharePredicates.DataSharePredicates();
+ predicates.prefixKey("batch_test_string_key");
+ kvStore.getResultSet(predicates, async function (err, result) {
if (err != undefined) {
- console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to get resultset.code is ${err.code},message is ${err.message}`);
return;
}
- console.log('Succeeded in putting batch');
- const query = new distributedKVStore.Query();
- query.prefixKey("batch_test");
- kvStore.getResultSet('localDeviceId', query, async function (err, result) {
+ console.log('Succeeded in getting result set');
+ resultSet = result;
+ kvStore.closeResultSet(resultSet, function (err, data) {
if (err != undefined) {
- console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to close resultset.code is ${err.code},message is ${err.message}`);
return;
}
- console.log('Succeeded in getting resultSet');
- resultSet = result;
- kvStore.closeResultSet(resultSet, function (err, data) {
- if (err != undefined) {
- console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
- return;
- }
- console.log('Succeeded in closing resultSet');
- })
- });
+ console.log('Succeeded in closing result set');
+ })
});
} catch (e) {
- console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
}
```
### getResultSet
-getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet>
+getResultSet(predicates: dataSharePredicates.DataSharePredicates): Promise<KVStoreResultSet>
-获取与指定设备ID和Query对象匹配的KVStoreResultSet对象,使用Promise异步回调。
+获取与本设备指定Predicate对象匹配的KVStoreResultSet对象,使用Promise异步回调。
-**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
+**系统接口:** 此接口为系统接口。
+
+**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| -------- | -------------- | ---- | ---------------------------------- |
-| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
-| query | [Query](query) | 是 | 表示查询对象。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
+| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
**返回值:**
-| 类型 | 说明 |
-| ------------------------------------------------------ | ------------------------------------------------------------ |
-| Promise<[KVStoreResultSet](#kvstoreresultset)> | Promise对象。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
+| 类型 | 说明 |
+| ---------------------------------------------------- | ------------------------- |
+| Promise<[KVStoreResultSet](#kvstoreresultset)> | 无返回结果的Promise对象。 |
**错误码:**
@@ -5500,49 +6264,31 @@ getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
```js
+import dataSharePredicates from '@ohos.data.dataSharePredicates';
+
let kvStore;
try {
let resultSet;
- let entries = [];
- for (var i = 0; i < 10; i++) {
- var key = 'batch_test_string_key';
- var entry = {
- key: key + i,
- value: {
- type: distributedKVStore.ValueType.STRING,
- value: 'batch_test_string_value'
- }
- }
- entries.push(entry);
- }
- kvStore.putBatch(entries).then(async (err) => {
- console.log('Succeeded in putting batch');
- }).catch((err) => {
- console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
- });
- const query = new distributedKVStore.Query();
- query.prefixKey("batch_test");
- kvStore.getResultSet('localDeviceId', query).then((result) => {
- console.log('Succeeded in getting resultSet');
+ let predicates = new dataSharePredicates.DataSharePredicates();
+ predicates.prefixKey("batch_test_string_key");
+ kvStore.getResultSet(predicates).then((result) => {
+ console.log('Succeeded in getting result set');
resultSet = result;
}).catch((err) => {
- console.error(`Fail to get resultSet.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to get resultset.code is ${err.code},message is ${err.message}`);
});
- query.deviceId('localDeviceId');
- console.log("GetResultSet " + query.getSqlLike());
kvStore.closeResultSet(resultSet).then((err) => {
- console.log('Succeeded in closing resultSet');
+ console.log('Succeeded in closing result set');
}).catch((err) => {
- console.error(`Fail to close resultSet.code is ${err.code},message is ${err.message}`);
+ console.error(`Fail to close resultset.code is ${err.code},message is ${err.message}`);
});
-
} catch (e) {
- console.error(`Fail to get resultSet.code is ${e.code},message is ${e.message}`);
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
}
```
@@ -5571,7 +6317,7 @@ getResultSet(deviceId: string, predicates: dataSharePredicates.DataSharePredicat
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5633,7 +6379,7 @@ getResultSet(deviceId: string, predicates: dataSharePredicates.DataSharePredicat
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5662,6 +6408,127 @@ try {
### getResultSize
+getResultSize(query: Query, callback: AsyncCallback<number>): void
+
+获取与本设备指定Query对象匹配的结果数,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------- | ---- | ------------------------------------------------- |
+| query | [Query](query) | 是 | 表示查询对象。 |
+| callback | AsyncCallback<number> | 是 | 回调函数。返回与本设备指定Query对象匹配的结果数。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries, async function (err, data) {
+ console.log('Succeeded in putting batch');
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSize(query, async function (err, resultSize) {
+ if (err != undefined) {
+ console.error(`Fail to get result size.code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.log('Succeeded in getting result set size');
+ });
+ });
+} catch (e) {
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
+}
+```
+
+### getResultSize
+
+getResultSize(query: Query): Promise<number>
+
+获取与本设备指定Query对象匹配的结果数,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | -------------- | ---- | -------------- |
+| query | [Query](query) | 是 | 表示查询对象。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------------- | ---------------------------------------------------- |
+| Promise<number> | Promise对象。获取与本设备指定Query对象匹配的结果数。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[分布式键值数据库错误码](../errorcodes/errorcode-distributedKVStore.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | -------------------------------------- |
+| 15100003 | Database corrupted. |
+| 15100005 | Database or result set already closed. |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let entries = [];
+ for (var i = 0; i < 10; i++) {
+ var key = 'batch_test_string_key';
+ var entry = {
+ key: key + i,
+ value: {
+ type: distributedKVStore.ValueType.STRING,
+ value: 'batch_test_string_value'
+ }
+ }
+ entries.push(entry);
+ }
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('Succeeded in putting batch');
+ }).catch((err) => {
+ console.error(`Fail to put batch.code is ${err.code},message is ${err.message}`);
+ });
+ const query = new distributedKVStore.Query();
+ query.prefixKey("batch_test");
+ kvStore.getResultSize(query).then((resultSize) => {
+ console.log('Succeeded in getting result set size');
+ }).catch((err) => {
+ console.error(`Fail to get result size.code is ${err.code},message is ${err.message}`);
+ });
+} catch (e) {
+ console.error(`An unexpected error occured.code is ${e.code},message is ${e.code}`);
+}
+```
+
+### getResultSize
+
getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number>): void;
获取与指定设备ID和Query对象匹配的结果数,使用callback异步回调。
@@ -5683,7 +6550,7 @@ getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number&
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
@@ -5752,7 +6619,7 @@ getResultSize(deviceId: string, query: Query): Promise<number>
| **错误码ID** | **错误信息** |
| ------------ | -------------------------------------- |
| 15100003 | Database corrupted. |
-| 15100006 | Database or result set already closed. |
+| 15100005 | Database or result set already closed. |
**示例:**
diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-distributedKVStore.md b/zh-cn/application-dev/reference/errorcodes/errorcode-distributedKVStore.md
index e47bdda1481e9cae8480968f9379a0ebcc9e513f..381d687e85d54dec77c865096f180217a1f80419 100644
--- a/zh-cn/application-dev/reference/errorcodes/errorcode-distributedKVStore.md
+++ b/zh-cn/application-dev/reference/errorcodes/errorcode-distributedKVStore.md
@@ -81,26 +81,7 @@ Not found.
2. 在数据库数据查询操作前,请检查查询关键字是否正确。
3. 在数据库数据删除操作前,请检查删除关键字是否正确或是否重复删除。
-
-## 15100005 不支持当前操作
-
-**错误信息**
-
-Not support the operation.
-
-**错误描述**
-
-该错误码表示在调用数据库backup、restore等接口时,当前数据库不支持该操作。
-
-**可能原因**
-
-在调用数据库备份、恢复等接口时,当前数据库不支持该操作。
-
-**处理步骤**
-
-检查当前数据库是否支持备份、恢复操作。
-
-## 15100006 数据库或查询结果集已关闭
+## 15100005 数据库或查询结果集已关闭
**错误信息**