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 1fd8f739e8c7d01855a3d1002284c19ca753305d..ebfcc81e3bbdec2586197beffe4b4cac15c42b95 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
@@ -587,7 +587,7 @@ try {
## SecurityLevel
-用于指定创建的数据库的安全级别。
+用于设置数据库的安全级别
**系统能力:** 以下各项对应的系统能力均为 SystemCapability.DistributedDataManager.KVStore.Core。
@@ -708,14 +708,14 @@ try {
## KvStoreResultSet8+ ##
-提供获取KVStore数据库结果集的方法,提供查询和移动数据读取位置的方法,在调用KvStoreResultSet的方法前,需要先通过KVStore构建一个KVStore实例。
+提供获取KVStore数据库结果集的方法;可以在结果集中查询和移动数据读取位置,在调用KvStoreResultSet的方法前,需要先通过KVStore构建一个KVStore实例。
### getCount8+ ###
getCount(): number
-获取结果集中的行数。
+获取结果集中的总行数。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -723,7 +723,7 @@ getCount(): number
| 类型 | 说明 |
| ------ | -------------- |
-| number |返回行数。 |
+| number |返回数据的行数。 |
**示例:**
@@ -782,7 +782,7 @@ try {
moveToFirst(): boolean
-将读取位置移动到第一行。
+将读取位置移动到第一行。如果结果集为空,则返回false。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -816,7 +816,7 @@ try {
moveToLast(): boolean
-将读取位置移动到最后一行。
+将读取位置移动到最后一行。如果结果集为空,则返回false。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -850,7 +850,7 @@ try {
moveToNext(): boolean
-将读取位置移动到下一行。
+将读取位置移动到下一行。如果结果集为空,则返回false。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -884,7 +884,7 @@ try {
moveToPrevious(): boolean
-将读取位置移动到上一行。
+将读取位置移动到上一行。如果结果集为空,则返回false。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -958,7 +958,7 @@ try {
moveToPosition(position: number): boolean
-将读取位置从 0 移动到绝对位置。
+将读取位置移动到第number行。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -1133,7 +1133,7 @@ try {
getEntry(): Entry
-获取键值对。
+从当前位置获取对应的键值对。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -1177,43 +1177,46 @@ constructor()
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+### equalTo8+ ###
-### reset8+ ###
-
-reset(): Query
+equalTo(field: string, value: number|string|boolean): Query
-公共查询重置。
+构造一个Query对象来查询具有指定字段的条目,其值等于指定的值。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
+| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
| 类型 | 说明 |
| ------ | ------- |
-| [Query](#query8) |返回重置的Query对象。|
+| [Query](#query8) |返回Query对象。|
**示例:**
```js
try {
let query = new distributedData.Query();
- query.equalTo("key", "value");
- console.log("query is " + query.getSqlLike());
- query.reset();
+ query.equalTo("field", "value");
console.log("query is " + query.getSqlLike());
query = null;
} catch (e) {
- console.log("simply calls should be ok :" + e);
+ console.log("dumplicated calls should be ok :" + e);
}
```
-### equalTo8+ ###
+### notEqualTo8+ ###
-equalTo(field: string, value: number|string|boolean): Query
+notEqualTo(field: string, value: number|string|boolean): Query
-构造一个Query对象来查询具有指定字段的条目,其值等于指定的值。
+构造一个Query对象以查询具有指定字段且值不等于指定值的条目。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -1221,21 +1224,21 @@ equalTo(field: string, value: number|string|boolean): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
| 类型 | 说明 |
| ------ | ------- |
-| [Query](#query8) |返回重置的Query对象。|
+| [Query](#query8) |返回Query对象。|
**示例:**
```js
try {
let query = new distributedData.Query();
- query.equalTo("field", "value");
+ query.notEqualTo("field", "value");
console.log("query is " + query.getSqlLike());
query = null;
} catch (e) {
@@ -1243,21 +1246,14 @@ try {
}
```
+### reset8+ ###
-### notEqualTo8+ ###
-
-notEqualTo(field: string, value: number|string|boolean): Query
+reset(): Query
-构造一个Query对象以查询具有指定字段且值不等于指定值的条目。
+返回重置的Query对象。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
-**参数:**
-
-| 参数名 | 参数类型 | 必填 | 说明 |
-| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
-| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
@@ -1270,15 +1266,16 @@ notEqualTo(field: string, value: number|string|boolean): Query
```js
try {
let query = new distributedData.Query();
- query.notEqualTo("field", "value");
+ query.equalTo("key", "value");
+ console.log("query is " + query.getSqlLike());
+ query.reset();
console.log("query is " + query.getSqlLike());
query = null;
} catch (e) {
- console.log("dumplicated calls should be ok :" + e);
+ console.log("simply calls should be ok :" + e);
}
```
-
### greaterThan8+ ###
greaterThan(field: string, value: number|string|boolean): Query
@@ -1291,7 +1288,7 @@ greaterThan(field: string, value: number|string|boolean): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
@@ -1326,7 +1323,7 @@ lessThan(field: string, value: number|string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
@@ -1361,7 +1358,7 @@ greaterThanOrEqualTo(field: string, value: number|string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
@@ -1396,7 +1393,7 @@ lessThanOrEqualTo(field: string, value: number|string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | number\|string\|boolean | 是 | 表示指定的值。|
**返回值:**
@@ -1432,7 +1429,7 @@ isNull(field: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
**返回值:**
@@ -1467,7 +1464,7 @@ inNumber(field: string, valueList: number[]): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| valueList | number[] | 是 | 表示指定的值列表。|
**返回值:**
@@ -1502,7 +1499,7 @@ inString(field: string, valueList: string[]): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| valueList | string[] | 是 | 表示指定的字符串值列表。|
**返回值:**
@@ -1537,7 +1534,7 @@ notInNumber(field: string, valueList: number[]): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| valueList | number[] | 是 | 表示指定的值列表。|
**返回值:**
@@ -1572,7 +1569,7 @@ notInString(field: string, valueList: string[]): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| valueList | string[] | 是 | 表示指定的字符串值列表。|
**返回值:**
@@ -1607,7 +1604,7 @@ like(field: string, value: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | string | 是 | 表示指定的字符串值。|
**返回值:**
@@ -1642,7 +1639,7 @@ unlike(field: string, value: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
| value | string | 是 | 表示指定的字符串值。|
**返回值:**
@@ -1737,7 +1734,7 @@ orderByAsc(field: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
**返回值:**
@@ -1772,7 +1769,7 @@ orderByDesc(field: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段,且不能包含' ^ '。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
**返回值:**
@@ -1835,7 +1832,7 @@ try {
isNotNull(field: string): Query
-使用不为空的指定字段创建查询条件。
+设置query对象的fieId字段不能为空。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -1843,7 +1840,7 @@ isNotNull(field: string): Query
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| fieId | string | 是 |表示指定字段。 |
+| fieId | string | 是 |表示指定字段,不能包含' ^ '。 |
**返回值:**
@@ -2033,7 +2030,7 @@ try {
getSqlLike():string
-获取指定Query对象的查询语句。
+获取Query对象的查询语句。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
@@ -2219,10 +2216,86 @@ try {
}
```
+### delete9+
+
+delete(predicates: Predicates, callback: AsyncCallback<void>): void
+
+从数据库中删除符合predicates条件的键值对,并通过callback方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| predicates | Predicates | 是 |指示筛选条件,当此参数为null时,应定义处理逻辑|
+| callback | AsyncCallback<void> | 是 |回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let predicates = new dataShare.DataSharePredicates();
+ await kvStore.delete(predicates, function (err, data) {
+ if (err == undefined) {
+ console.log('delete success');
+ } else {
+ console.log('delete fail' + err);
+ }
+ });
+} catch (e) {
+ console.log('An unexpected error occurred. Error:' + e);
+}
+```
+
+### delete9+
+
+delete(predicates: Predicates): Promise<void>
+
+从数据库中删除符合predicates条件的键值对,并通过Promise方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| predicates | Predicates | 是 |指示筛选条件,当此参数为null时,应定义处理逻辑。|
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------ | ------- |
+| Promise<void> |Promise实例,用于异步处理。|
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let predicates = new dataShare.DataSharePredicates();
+ let arr = ["name"];
+ predicates.inKeys(arr);
+ kvStore.put("name", "bob").then((data) => {
+ console.log('put success' + JSON.stringify(data));
+ await kvStore.delete(predicates).then((data) => {
+ console.log('delete success');
+ }).catch((err) => {
+ console.log('delete fail' + JSON.stringify(err));
+ });
+ }) .catch((err) => {
+ console.log(' put fail' + err);
+ });
+}catch (e) {
+ console.log("An unexpected error occurred. Error:" + e);
+}
+
+```
### on('dataChange')
-on(event: 'dataChange', type: SubscribeType, observer: Callback<ChangeNotification>): void
+on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
订阅指定类型的数据变更通知,此方法为同步方法。
@@ -2234,7 +2307,7 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback<ChangeNotific
| ----- | ------ | ---- | ----------------------- |
| event |string | 是 |订阅的事件名,固定为'dataChange',表示数据变更事件。 |
| type |[SubscribeType](#subscribetype) | 是 |表示订阅的类型。 |
-| observer |Callback<[ChangeNotification](#changenotification)> | 是 |回调函数。 |
+| listener |Callback<[ChangeNotification](#changenotification)> | 是 |回调函数。 |
**示例:**
@@ -2272,7 +2345,7 @@ kvStore.on('syncComplete', function (data) {
### off('dataChange')8+
-off(event:'dataChange', observer?: Callback<ChangeNotification>): void
+off(event:'dataChange', listener?: Callback<ChangeNotification>): void
取消订阅数据变更通知,此方法为同步方法。
@@ -2283,7 +2356,7 @@ off(event:'dataChange', observer?: Callback<ChangeNotification>): void
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
| event |string | 是 |取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
-| observer |Callback<[ChangeNotification](#changenotification)> |否 |回调函数。 |
+| listener |Callback<[ChangeNotification](#changenotification)> |否 |回调函数。 |
**示例:**
@@ -2297,6 +2370,36 @@ kvStore.off('dataChange', function (data) {
});
```
+### off('syncComplete')9+
+
+off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
+
+取消订阅数据变更通知,此方法为同步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| event |string | 是 |取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
+| syncCallback |Callback<Array<[string, number]>> | 否 |用于向调用方发送同步结果的回调。 |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ const func = function (data) {
+ console.log('syncComplete ' + data)
+ };
+ kvStore.on('syncComplete', func);
+ kvStore.off('syncComplete', func);
+}catch(e) {
+ console.log('syncComplete e ' + e);
+}
+```
+
### putBatch8+
@@ -2340,7 +2443,7 @@ try {
});
});
}catch(e) {
- console.log('PutBatch e ' + e);
+ console.log('PutBatch e ' + JSON.stringify(e));
}
```
@@ -2395,10 +2498,83 @@ try {
console.log('putBatch fail ' + JSON.stringify(err));
});
}catch(e) {
- console.log('PutBatch e ' + e);
+ console.log('PutBatch e ' + JSON.stringify(e));
+}
+```
+
+### putBatch9+
+
+putBatch(value: Array<ValuesBucket>, callback: AsyncCallback<void>): void
+
+将值写入KvStore数据库,并通过callback方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| value |Array[<ValuesBucket>]()[] | 是 |表示要插入的数据。 |
+| callback |Asyncallback<void> |是 |回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21,31]);
+ let entries = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,},
+ {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,},
+ {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,})
+ kvStore.putBatch(entries, async function (err,data) {
+ console.log('putBatch success');
+ }).catch((err) => {
+ console.log('putBatch fail ' + JSON.stringify(err));
+ });
+}catch(e) {
+ console.log('putBatch e ' + JSON.stringify(e));
}
```
+### putBatch9+
+
+putBatch(value: Array<ValuesBucket>): Promise<void>
+
+将valuesbucket类型的值写入KvStore数据库,并通过Promise方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| value |Array<[ValuesBucket>](#)[] | 是 |表示要插入的数据。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------ | ------- |
+| Promise<void> |Promise实例,用于异步处理。|
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ var arr = new Uint8Array([21,31]);
+ let entries = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,},
+ {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,},
+ {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,})
+ kvStore.putBatch(entries).then(async (err) => {
+ console.log('putBatch success');
+ }).catch((err) => {
+ console.log('putBatch fail ' + JSON.stringify(err));
+ });
+}catch(e) {
+ console.log('PutBatch e ' + JSON.stringify(e));
+}
+
+```
### deleteBatch8+
@@ -3430,6 +3606,79 @@ try {
}
```
+### getResultSet9+ ###
+
+getResultSet(predicates: Predicates, callback: AsyncCallback<KvStoreResultSet>): void
+
+获取与指定Predicate对象匹配的KvStoreResultSet对象,并通过callback方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| predicates | Predicates | 是 |指示筛选条件,当此参数为null时,应定义处理逻辑。 |
+| callback |AsyncCallback<[KvStoreResultSet](#kvstoreresultsetsup8sup)> | 是 |回调函数,获取与指定Predicates对象匹配的KvStoreResultSet对象。 |
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let predicates = new dataShare.DataSharePredicates();
+ predicates.prefixKey("batch_test_string_key");
+ await kvStore.getResultSet(predicates, async function (err, result) {
+ console.log(' GetResultSet success');
+ resultSet = result;
+ await kvStore.closeResultSet(resultSet, function (err, data) {
+ console.log(' closeResultSet success');
+ })
+ });
+}catch(e) {
+ console.log('An unexpected error occurred. Error:' + e);
+}
+```
+### getResultSet9+ ###
+
+getResultSet(predicates: Predicates): Promise<KvStoreResultSet>
+
+获取与指定Predicate对象匹配的KvStoreResultSet对象,并通过Promise方式返回,此方法为异步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| predicates |[Predicates](#) | 是 |指示筛选条件,当此参数为null时,应定义处理逻辑 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------ | ------- |
+|Promise<[KvStoreResultSet](#kvstoreresultset8)> |Promise实例,用于获取异步返回结果。|
+
+**示例:**
+
+```js
+let kvStore;
+try {
+ let resultSet;
+ let predicates = new dataShare.DataSharePredicates();
+ predicates.prefixKey("batch_test_string_key");
+ await kvStore.getResultSet(predicates) .then((result) => {
+ console.log(' GetResultSet success');
+ resultSet = result;
+ await kvStore.closeResultSet(resultSet, fun ction (err, data) {
+ console.log(' closeResultSet success');
+ })
+ });
+}catch(e) {
+ console.log('An unexpected error occurred. Error:' + e);
+}
+```
### closeResultSet8+ ###
closeResultSet(resultSet: KvStoreResultSet, callback: AsyncCallback<void>): void
@@ -3692,7 +3941,6 @@ try {
}
```
-
### on('syncComplete')8+ ###
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
@@ -3759,10 +4007,61 @@ try {
}
```
+### on('dataChange')9+ ###
+
+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));
+});
+
+```
+
+### off('dataChange')9+ ###
+
+off(event:'dataChange', listener?: Callback<ChangeNotification>): void
+
+取消订阅数据变更通知,此方法为同步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| event |string | 是 |取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| listener |Callback<[ChangeNotification](#changenotification)> |否 |回调函数。 |
+
+**示例:**
-### sync
+```js
+let kvStore;
+kvStore.on('dataChange', function (data) {
+ console.log("callback call data: " + data);
+});
+kvStore.off('dataChange', function (data) {
+ console.log("callback call data: " + data);
+});
+```
+### sync7+
-sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void
+sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步,此方法为同步方法。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
@@ -3774,9 +4073,9 @@ sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| deviceIdList |string[] | 是 |同一组网环境下,需要同步的设备的deviceId列表。 |
+| deviceIds |string[] | 是 |同一组网环境下,需要同步的设备的deviceId列表。 |
| mode |[SyncMode](#syncmode) | 是 |同步模式。 |
-| allowedDelayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
+| delayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
**示例:**
@@ -3785,6 +4084,47 @@ let kvStore;
kvStore.sync('deviceIds', distributedData.SyncMode.PULL_ONLY, 1000);
```
+### sync9+
+sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void
+
+在手动同步方式下,触发数据库同步,此方法为同步方法。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+
+**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| deviceIds |string[] | 是 |同一组网环境下,需要同步的设备的deviceId列表。 |
+| query |[Query](#querysup8sup) | 是 |表示数据库的查询谓词条件 |
+| delayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
+
+**示例:**
+
+```js
+let kvstore;
+const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
+const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
+try {
+ kvStore.on('syncComplete', function (data) {
+ console.log('Sync dataChange');
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err,data) {
+ console.log('Sync put success');
+ const devices = ['deviceList'];
+ const mode = distributedData.SyncMode.PULL_ONLY;
+ const query = new distributedData.Query();
+ query.prefixKey("batch_test");
+ query.deviceId('localDeviceId');
+ kvStore.sync(devices, query, 1000);
+ });
+}catch(e) {
+ console.log('Sync e' + e);
+}
+```
+
### setSyncParam8+ ###
setSyncParam(defaultAllowedDelayMs: number, callback: AsyncCallback<void>): void
@@ -5011,7 +5351,7 @@ try {
### sync8+ ###
-sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void
+sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步,此方法为同步方法。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
@@ -5023,9 +5363,9 @@ sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
-| deviceIdList |string[] | 是 |需要同步DeviceKvStore数据库的设备ID列表。 |
+| deviceIds |string[] | 是 |需要同步DeviceKvStore数据库的设备ID列表。 |
| mode |[SyncMode](#syncmode) | 是 |同步模式。 |
-| allowedDelayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
+| delayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
**示例:**
@@ -5048,6 +5388,48 @@ try {
}
```
+### sync9+ ###
+
+sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void
+
+在手动同步方式下, 触发数据库同步,此方法为同步方法。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+
+**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| deviceIds |string[] | 是 |需要同步DeviceKvStore数据库的设备ID列表。 |
+| query |[Query](#querysup8sup) | 是 | 数据库的查询谓词条件 |
+| delayMs |number | 否 |可选参数,允许延时时间,单位:ms(毫秒)。 |
+
+**示例:**
+
+```js
+let kvstore;
+const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
+const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
+try {
+ kvStore.on('syncComplete', function (data) {
+ console.log('Sync dataChange');
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err,data) {
+ console.log('Sync put success');
+ const devices = ['deviceList'];
+ const mode = distributedData.SyncMode.PULL_ONLY;
+ const query = new distributedData.Query();
+ query.prefixKey("batch_test");
+ query.deviceId('localDeviceId');
+ kvStore.sync(devices, query, 1000);
+ });
+}catch(e) {
+ console.log('Sync e' + e);
+}
+```
+
### on('syncComplete')8+ ###
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
@@ -5096,7 +5478,7 @@ off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]&
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
| event |string | 是 |取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
-| syncCallback |Callback9+ ###
+
+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));
+});
+```
+
+
+### off('dataChange')9+ ###
+
+off(event:'dataChange', listener?: Callback<ChangeNotification>): void
+
+取消订阅数据变更通知,此方法为同步方法。
+
+**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
+
+**参数:**
+
+| 参数名 | 参数类型 | 必填 | 说明 |
+| ----- | ------ | ---- | ----------------------- |
+| event |string | 是 |取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
+| listener |Callback<[ChangeNotification](#changenotification)> |否 |回调函数。 |
+
+**示例:**
+
+```js
+let kvStore;
+kvStore.on('dataChange', function (data) {
+ console.log("callback call data: " + data);
+});
+kvStore.off('dataChange', function (data) {
+ console.log("callback call data: " + data);
+});
+```
+
## SyncMode
同步模式枚举。