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 58cf342b9aec310da4349226eb17382f533e47f3..76c59c43b8992ed7271d6f26475e7f365cfa0836 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 @@ -1,7892 +1,611 @@ -# 分布式数据管理 +# 分布式数据管理 ->![](../../public_sys-resources/icon-note.gif) **说明:** ->本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 -## 导入模块 + +## 导入模块 ``` import distributedData from '@ohos.data.distributedData'; ``` -## 权限 + +## 权限 无 -## distributedData.createKVManager -createKVManager\(config: KVManagerConfig, callback: AsyncCallback\): void +## distributedData.createKVManager + +createKVManager(config: KVManagerConfig, callback: AsyncCallback<KVManager>): void 创建一个KVManager对象实例,用于管理数据库对象,并通过callback方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

config

-

KVManagerConfig

-

-

提供KVManager实例的配置信息,包括调用方的包名和用户信息。

-

callback

-

AsyncCallback<KVManager>

-

-

KVManager实例创建时调用的回调,返回KVManager对象实例。

-
- -- 示例: - - ``` - let kvManager; - try { - const kvManagerConfig = { - bundleName : 'com.example.datamanagertest', - userInfo : { - userId : '0', - userType : SAME_USER_ID - } - } - distributedData.createKVManager(kvManagerConfig, function (err, manager) { - if (err) { - console.log("createKVManager err: " + JSON.stringify(err)); - return; - } - console.log("createKVManager success"); - kvManager = manager; - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -## distributedData.createKVManager - -createKVManager\(config: KVManagerConfig\): Promise +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | config | [KVManagerConfig](#kvmanagerconfig) | 是 | 提供KVManager实例的配置信息,包括调用方的包名和用户信息。 | + | callback | AsyncCallback<[KVManager](#kvmanager)> | 是 | KVManager实例创建时调用的回调,返回KVManager对象实例。 | + +- 示例: + ``` + let kvManager; + try { + const kvManagerConfig = { + bundleName : 'com.example.datamanagertest', + userInfo : { + userId : '0', + userType : 0 + } + } + distributedData.createKVManager(kvManagerConfig, function (err, manager) { + if (err) { + console.log("createKVManager err: " + JSON.stringify(err)); + return; + } + console.log("createKVManager success"); + kvManager = manager; + }); + } catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +## distributedData.createKVManager + +createKVManager(config: KVManagerConfig): Promise<KVManager> 创建一个KVManager对象实例,用于管理数据库对象,并通过Promise方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

config

-

KVManagerConfig

-

-

提供KVManager实例的配置信息,包括调用方的包名和用户信息。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KVManager>

-

指定的Promise回调方法,返回创建的KVManager对象实例。

-
- -- 示例: - - ``` - let kvManager; - try { - const kvManagerConfig = { - bundleName : 'com.example.datamanagertest', - userInfo : { - userId : '0', - userType : SAME_USER_ID - } - } - distributedData.createKVManager(kvManagerConfig).then((manager) => { - console.log("createKVManager success"); - kvManager = manager; - }).catch((err) => { - console.log("createKVManager err: " + JSON.stringify(err)); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -## KVManagerConfig +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | config | [KVManagerConfig](#kvmanagerconfig) | 是 | 提供KVManager实例的配置信息,包括调用方的包名和用户信息。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[KVManager](#kvmanager)> | 指定的Promise回调方法,返回创建的KVManager对象实例。 | + +- 示例: + ``` + let kvManager; + try { + const kvManagerConfig = { + bundleName : 'com.example.datamanagertest', + userInfo : { + userId : '0', + userType : 0 + } + } + distributedData.createKVManager(kvManagerConfig).then((manager) => { + console.log("createKVManager success"); + kvManager = manager; + }).catch((err) => { + console.log("createKVManager err: " + JSON.stringify(err)); + }); + } catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +## KVManagerConfig 提供KVManager实例的配置信息,包括调用方的包名和用户信息。 - - - - - - - - - - - - - - - - - - -

名称

-

类型

-

必填

-

描述

-

userInfo

-

UserInfo

-

-

调用方的用户信息。

-

bundleName

-

string

-

-

调用方的包名。

-
- -## UserInfo +| 名称 | 类型 | 必填 | 描述 | +| -------- | -------- | -------- | -------- | +| userInfo | [UserInfo](#userinfo) | 是 | 调用方的用户信息。 | +| bundleName | string | 是 | 调用方的包名。 | + + +## UserInfo 用户信息。 - - - - - - - - - - - - - - - - - - -

名称

-

类型

-

必填

-

描述

-

userId

-

string

-

-

指示要设置的用户ID。

-

userType

-

UserType

-

-

指示要设置的用户类型。

-
- -## UserType +| 名称 | 类型 | 必填 | 描述 | +| -------- | -------- | -------- | -------- | +| userId | string | 是 | 指示要设置的用户ID。 | +| userType | [UserType](#usertype) | 是 | 指示要设置的用户类型。 | + + +## UserType 用户类型。 - - - - - - - - - - - -

名称

-

默认值

-

说明

-

SAME_USER_ID

-

0

-

使用同一帐户登录不同设备的用户。

-
- -## KVManager +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| SAME_USER_ID | 0 | 使用同一帐户登录不同设备的用户。 | + + +## KVManager 数据管理实例,用于获取KVStore的相关信息。在调用KVManager的方法前,需要先通过createKVManager构建一个KVManager实例。 -### getKVStore -getKVStore\(storeId: string, options: Options, callback: AsyncCallback\): void +### getKVStore + +getKVStore<T extends KVStore>(storeId: string, options: Options, callback: AsyncCallback<T>): void 通过指定Options和storeId,创建并获取KVStore数据库,并通过callback方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

storeId

-

string

-

-

数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-

options

-

Options

-

-

创建KVStore实例的配置信息。

-

callback

-

AsyncCallback<T>,

-

<T extends KVStore>

-

-

创建KVStore实例的回调,返回KVStore对象实例。

-
- -- 示例: - - ``` - let kvStore; - try { - const options = { - createIfMissing : true, - encrypt : false, - backup : false, - autoSync : true, - kvStoreType : SINGLE_VERSION, - securityLevel : S2, - }; - kvManager.getKVStore('storeId', options, function (err, store) { - if (err) { - console.log("getKVStore err: " + JSON.stringify(err)); - return; - } - console.log("getKVStore success"); - kvStore = store; - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### getKVStore - -getKVStore\(storeId: string, options: Options\): Promise +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | storeId | string | 是 | 数据库唯一标识符,长度不大于[MAX_STORE_ID_LENGTH](#Constants)。 | + | options | [Options](#options) | 是 | 创建KVStore实例的配置信息。 | + | callback | AsyncCallback<T>,
<T extends KVStore> | 是 | 创建KVStore实例的回调,返回KVStore对象实例。 | + +- 示例: + ``` + let kvStore; + try { + const options = { + createIfMissing : true, + encrypt : false, + backup : false, + autoSync : true, + kvStoreType : 1, + securityLevel : 3, + }; + kvManager.getKVStore('storeId', options, function (err, store) { + if (err) { + console.log("getKVStore err: " + JSON.stringify(err)); + return; + } + console.log("getKVStore success"); + kvStore = store; + }); + } catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### getKVStore + +getKVStore<T extends KVStore>(storeId: string, options: Options): Promise<T> 通过指定Options和storeId,创建并获取KVStore数据库,并通过Promise方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

storeId

-

string

-

-

数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-

options

-

Options

-

-

创建KVStore实例的配置信息。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<T>

-

<T extends KVStore>

-

指定的Promise回调方法,返回创建的KVStore数据库实例。

-
- -- 示例: - - ``` - let kvStore; - try { - const options = { - createIfMissing : true, - encrypt : false, - backup : false, - autoSync : true, - kvStoreType : SINGLE_VERSION, - securityLevel : S2, - }; - kvManager.getKVStore('storeId', options).then((store) => { - console.log("getKVStore success"); - kvStore = store; - }).catch((err) => { - console.log("getKVStore err: " + JSON.stringify(err)); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - -### closeKVStore ### - -closeKVStore\(appId: string, storeId: string, kvStore: KVStore, callback: AsyncCallback\): void; - -通过storId的值关闭指定的kvStore数据库,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-

storeId

-

string

-

-

要关闭的数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-

kvStore

-

KVStore

-

-

要关闭的KvStore数据库。

-

callback

-

AsyncCallback<void>

-

-

回调函数,如果数据库关闭成功则返回true,否则返回false。

-
- -- 示例: - - ``` - try { - kvManager.getKVStore('storeId', options, async function (err, store) { - console.log('getKVStore success'); - kvStore = store; - kvManager.closeKVStore('appId', 'storeId', kvStore, function (err, data) { - console.log('closeKVStore success'); - }); - }); - } catch (e) { - console.log('CloseKVStore e ' + e); - } - ``` - -### closeKVStore ### - -closeKVStore\(appId: string, storeId: string, kvStore: KVStore\): Promise; - -通过kvStore的值关闭指定的kvStore数据库,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-

storeId

-

string

-

-

要关闭的数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-

kvStore

-

KVStore

-

-

要关闭的数据库。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,如果数据库关闭成功则返回true,否则返回false。

-
- -- 示例: - - ``` - let KvStore; - try { - kvManager.closeKVStore('appId', 'storId', KvStore).then(() => { - console.log('CloseKVStore success'); - }).catch((err) => { - console.log('CloseKVStore err ' + JSON.stringify(err)); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### deleteKVStore ### - -deleteKVStore(appId: string, storeId: string, callback: AsyncCallback): void; - -通过storeId的值删除指定的kvStore数据库,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-

storeId

-

string

-

-

要删除的数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-

callback

-

AsyncCallback<void>

-

-

回调函数,如果成功返回true,否则返回false。

-
- -- 示例: - - ``` - let KvStore; - try { - kvManager.deleteKVStore('appId', 'storeId', function (err, data) { - if (err){ - console.log('deleteKVStore success'); - return; - } - console.log("deleteKVStore success"); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - -### deleteKVStore ### - -deleteKVStore\(appId: string, storeId: string\): Promise; - -通过storeId的值删除指定的kvStore数据库,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-

storeId

-

string

-

-

要删除数据库的唯一标识符,长度不大于MAX_STORE_ID_LENGTH

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,如果成功返回true,否则返回false。

-
- -- 示例: - - ``` - let KvStore; - try { - kvManager.deleteKVStore('appId', 'storId', KvStore).then(() => { - console.log('deleteKVStore success'); - }).catch((err) => { - console.log('deleteKVStore err ' + JSON.stringify(err)); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### getAllKVStoreId ### - -getAllKVStoreId(appId: string, callback: AsyncCallback): void; - -获取所有通过getKvStore方法创建的且没有调用deleteKvStore方法删除的KvStore数据库的storeId,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-

callback

-

AsyncCallback<void>

-

-

回调函数,返回所有创建的 KvStore 数据库的 storeId。

-
- -- 示例: - - ``` - try { - kvManager.getAllKVStoreId('appId', function (err, data) { - console.log('GetAllKVStoreId getAllKVStoreId success'); - console.log('GetAllKVStoreId size = ' + data.length); - }); - } catch (e) { - console.log('GetAllKVStoreId e ' + e); - } - ``` - - -### getAllKVStoreId ### - -getAllKVStoreId\(appId: string\): Promise; - -获取所有通过getKvStore方法创建的且没有调用deleteKvStore方法删除的KvStore数据库的storeId,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

appId

-

string

-

-

所调用数据库方的包名。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<string[]>

-

Promise实例,返回所有创建的 KvStore 数据库的 storeId。。

-
- -- 示例: - - ``` - let KvStore; - try { - kvManager.getKVStore('storId', options).then(async (store) => { - console.log('getKVStore success'); - kvStore = store; - kvManager.getAllKVStoreId('appId').then((data) => { - console.log('getAllKVStoreId success'); - console.log('GetAllKVStoreId size = ' + data.length); - console.log('GetAllKVStoreId data[0] = ' + data[0]); - }); - }).catch((err) => { - console.log('getKVStore err ' + JSON.stringify(err)); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### on ### - -on\(event: 'distributedDataServiceDie', deathCallback: Callback\): void; - -订阅设备状态变更通知,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'distributedDataServiceDie'

-

-

设备状态改变时触发的事件名。

-

deathCallback

-

Callback<void>

-

-

回调函数,在设备状态改变时获取通知。

-
- -- 示例 - - ``` - let KvStore; - try { - it('KVManagerOn', 0, function (done) { - console.log('KVManagerOn'); - const deathCallback = function () { - console.log('death callback call'); - } - kvManager.on('distributedDataServiceDie', deathCallback); - kvManager.off('distributedDataServiceDie', deathCallback); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### off ### - -off\(event: 'distributedDataServiceDie', deathCallback: Callback\): void; - -取消订阅设备状态变更通知,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'distributedDataServiceDie'

-

-

设备状态改变时触发的事件名。

-

deathCallback

-

Callback<void>

-

-

回调函数,取消设备状态改变时获取通知。

-
- -- 示例 - - ``` - let KvStore; - try { - it('KVManagerOff', 0, function (done) { - console.log('KVManagerOff'); - const deathCallback = function () { - console.log('death callback call'); - } - kvManager.off('distributedDataServiceDie', deathCallback); - }); - } catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - -## Options +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | storeId | string | 是 | 数据库唯一标识符,长度不大于[MAX_STORE_ID_LENGTH](#Constants)。 | + | options | [Options](#options) | 是 | 创建KVStore实例的配置信息。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<T>
<T extends KVStore> | 指定的Promise回调方法,返回创建的KVStore数据库实例。 | + +- 示例: + ``` + let kvStore; + try { + const options = { + createIfMissing : true, + encrypt : false, + backup : false, + autoSync : true, + kvStoreType : 1, + securityLevel : 3, + }; + kvManager.getKVStore('storeId', options).then((store) => { + console.log("getKVStore success"); + kvStore = store; + }).catch((err) => { + console.log("getKVStore err: " + JSON.stringify(err)); + }); + } catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +## Options 用于提供创建数据库的配置信息。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

createIfMissing

-

boolean

-

-

当数据库文件不存在时是否创建数据库,默认创建。

-

encrypt

-

boolean

-

-

设置数据库文件是否加密,默认不加密。

-

backup

-

boolean

-

-

设置数据库文件是否备份,默认备份。

-

autoSync

-

boolean

-

-

设置数据库文件是否自动同步,默认不自动同步。

-

kvStoreType

-

KVStoreType

-

-

设置要创建的数据库类型,默认为多设备协同数据库。

-

securityLevel

-

SecurityLevel

-

-

设置数据库安全级别,默认不设置安全级别。

-
- -## KVStoreType +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| createIfMissing | boolean | 否 | 当数据库文件不存在时是否创建数据库,默认创建。 | +| encrypt | boolean | 否 | 设置数据库文件是否加密,默认不加密。 | +| backup | boolean | 否 | 设置数据库文件是否备份,默认备份。 | +| autoSync | boolean | 否 | 设置数据库文件是否自动同步,默认不自动同步。 | +| kvStoreType | [KVStoreType](#kvstoretype) | 否 | 设置要创建的数据库类型,默认为多设备协同数据库。 | +| securityLevel | [SecurityLevel](#securitylevel) | 否 | 设置数据库安全级别,默认不设置安全级别。 | + + +## KVStoreType 用于指定创建的数据库的类型。 - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

DEVICE_COLLABORATION

-

0

-

表示多设备协同数据库。

-

SINGLE_VERSION

-

1

-

表示单版本数据库。

-

MULTI_VERSION

-

2

-

表示多版本数据库。此类型当前不允许使用。

-
- -## SecurityLevel +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| DEVICE_COLLABORATION | 0 | 表示多设备协同数据库。 | +| SINGLE_VERSION | 1 | 表示单版本数据库。 | +| MULTI_VERSION | 2 | 表示多版本数据库。此类型当前不允许使用。 | + + +## SecurityLevel 用于指定创建的数据库的安全级别。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

NO_LEVEL

-

0

-

表示数据库不设置安全级别。

-

S0

-

1

-

表示数据库的安全级别为公共级别安全。

-

S1

-

2

-

表示数据库的安全级别为低级别安全,当数据泄露时会产生较低影响。

-

S2

-

3

-

表示数据库的安全级别为中级别安全,当数据泄露时会产生较大影响。

-

S3

-

5

-

表示数据库的安全级别为高级别安全,当数据泄露时会产生重大影响。

-

S4

-

6

-

表示数据库的安全级别为关键级别安全,当数据泄露时会产生严重影响。

-
- -## Constants +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| NO_LEVEL | 0 | 表示数据库不设置安全级别。 | +| S0 | 1 | 表示数据库的安全级别为公共级别安全。 | +| S1 | 2 | 表示数据库的安全级别为低级别安全,当数据泄露时会产生较低影响。 | +| S2 | 3 | 表示数据库的安全级别为中级别安全,当数据泄露时会产生较大影响。 | +| S3 | 5 | 表示数据库的安全级别为高级别安全,当数据泄露时会产生重大影响。 | +| S4 | 6 | 表示数据库的安全级别为关键级别安全,当数据泄露时会产生严重影响。 | + + +## Constants KVStore常量。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

MAX_KEY_LENGTH

-

1024

-

数据库中Key允许最大长度,单位字节。

-

MAX_VALUE_LENGTH

-

4194303

-

数据库中Value允许的最大长度,单位字节。

-

MAX_KEY_LENGTH_DEVICE

-

896

-

最大设备坐标密钥长度。

-

MAX_STORE_ID_LENGTH

-

128

-

数据库标识符允许的最大长度,单位字节。

-

MAX_QUERY_LENGTH

-

512000

-

最大查询长度。

-

MAX_BATCH_SIZE

-

128

-

最大批处理操作大小。

-
- -## Schema ## - -表示数据库架构,可以创建 Schema 对象,并在创建或打开数据库时将其放置在 Option 中。 - -### constructor ### - -constructor(); - -用于创建架构实例的构造函数。 - -- 示例 - - ``` - try { - let schema = new ddm.Schema(); - schema.root = new ddm.FieldNode(); - console.log("constructor: " + str); - } catch (e) {} - ``` - -### toJsonString ### - -toJsonString():string; - -获取 json 格式的 schema 。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

string

-

以 json 格式返回Schema。

-
- -- 示例 - - ``` - try { - let schema = new ddm.Schema(); - const str = schema.toJsonString(); - schema.root = new ddm.FieldNode(); - const node = schema.root; - console.log("schema: " + str); - } catch (e) {} - ``` - - -## FieldNode ## - -表示 Schema 实例的节点,提供定义存储在数据库中的值的方法。 - -### constructor ### - -constructor\(name: string\); - -用于创建具有指定字段的 FieldNode 实例的构造函数。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

child

-

string

-

-

指定字段。

-
- -- 示例 - - ``` - try { - let node = new ddm.FieldNode("name"); - console.log("constructor: " + str); - } catch (e) {} - ``` - - -### appendChild ### - -appendChild\(child: FieldNode\): boolean; - -向这个 FieldNode 添加一个子节点。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

child

-

FieldNode

-

-

要附加的域节点。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果子节点成功添加到这个FieldNode,则返回 true;否则返回 false。

-
- -- 示例 - - ``` - try { - let node = new ddm.FieldNode("root"); - let child1 = new ddm.FieldNode("child1"); - let child2 = new ddm.FieldNode("child2"); - let child3 = new ddm.FieldNode("child3"); - node.appendChild(child1); - node.appendChild(child2); - node.appendChild(child3); - console.log("appendNode " + node.toJson()); - child1 = null; - child2 = null; - child3 = null; - node = null; - } catch (e) { - console.log("AppendChild " + e); - } - ``` - - -### toJson ### - -toJson(\): string; - -获取字段名称。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

string

-

返回节点的字段名称。

-
- -- 示例 - - ``` - try { - let node = new ddm.FieldNode("root"); - let child = new ddm.FieldNode("child"); - node.appendChild(child); - } catch (e) { - console.log("ToJson " + e); - } - ``` - - -## KvStoreResultSet ## - -提供获取KvStore数据库结果集的方法,提供查询和移动数据读取位置的方法,在调用KvStoreResultSet的方法前,需要先通过DeviceKvStore 构建一个DeviceKvStore 实例。 - -### getCount ### - -getCount(\): number; - -获取结果集中的行数。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

number

-

返回行数。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - count = resultSet.getCount(); - console.log("getCount " + count); - } catch (e) { - console.log("GetCount001 fail " + e); - } - ``` - - -### getPosition ### - -getPosition(\): number; - -获取结果集中当前的读取位置。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

number

-

返回当前读取位置。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const positon = resultSet.getPosition(); - console.log("getPosition " + positon); - } catch (e) { - console.log("GetPosition001 fail " + e); - } - ``` - - -### moveToFirst ### - -moveToFirst(\): boolean; - -将读取位置移动到第一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToFirst(); - console.log("moveToFirst " + moved); - } catch (e) { - console.log("MoveToFirst fail " + e); - } - ``` - - -### moveToLast ### - -moveToLast(\): boolean; - -将读取位置移动到最后一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToLast(); - console.log("moveToLast " + moved); - } catch (e) { - console.log("moveToLast fail " + e); - } - ``` - - -### moveToNext ### - -moveToNext(\): boolean; - -将读取位置移动到下一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToNext(); - console.log("moveToNext " + moved); - } catch (e) { - console.log("moveToNext fail " + e); - } - ``` - - -### moveToPrevious ### - -moveToPrevious(\): boolean; - -将读取位置移动到上一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToPrevious(); - console.log("moveToPrevious " + moved); - } catch (e) { - console.log("moveToPrevious fail " + e); - } - ``` - - -### move ### - -move\(offset: number\): boolean; - -将读取位置移动到当前位置的相对偏移量。 - -- 参数: - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

offset

-

number

-

-

表示与当前位置的相对偏移量,负偏移表示向后移动,正偏移表示向前移动。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.move(); - console.log("move " + moved); - } catch (e) { - console.log("move fail " + e); - } - ``` - - -### moveToPosition ### - -moveToPosition\(position: number\): boolean; - -将读取位置从 0 移动到绝对位置。 - -- 参数: - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

position

-

number

-

-

表示绝对位置。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果操作成功则返回true,否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToPosition(); - console.log("moveToPosition " + moved); - } catch (e) { - console.log("moveToPosition fail " + e); - } - ``` - - -### isFirst ### - -isFirst(\): boolean; - -检查读取位置是否为第一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果读取位置是第一行,则返回 true;否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.isFirst(); - console.log("isFirst " + moved); - } catch (e) { - console.log("isFirst fail " + e); - } - ``` - - -### isLast ### - -isLast(\): boolean; - -检查读取位置是否为最后一行。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果读取位置是最后一行,则返回 true;否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.isLast(); - console.log("isLast " + moved); - } catch (e) { - console.log("isLast fail " + e); - } - ``` - - -### isBeforeFirst ### - -isBeforeFirst(\): boolean; - -检查读取位置是否在第一行之前。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果读取位置在第一行之前,则返回 true;否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.isBeforeFirst(); - console.log("isBeforeFirst " + moved); - } catch (e) { - console.log("isBeforeFirst fail " + e); - } - ``` - - -### isAfterLast ### - -isAfterLast(\): boolean; - -检查读取位置是否在最后一行之后。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

boolean

-

如果读取位置在最后一行之后,则返回 true;否则返回 false。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.isAfterLast(); - console.log("isAfterLast " + moved); - } catch (e) { - console.log("isAfterLast fail " + e); - } - ``` - - -### getEntry ### - -getEntry(\): Entry; - -获取键值对 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Entry

-

返回键值对。

-
- -- 示例 - - ``` - let KvStoreResultSet; - try { - const moved = resultSet.moveToNext(); - const entry = resultSet.getEntry(); - console.log("getEntry " + entry); - } catch (e) { - console.log("getEntry fail " + e); - } - ``` - - -## Query ## - -使用谓词表示数据库查询,提供创建Query实例、查询数据库中的数据和添加谓词的方法。 - -### constructor ### - -constructor(); - -用于创建查询实例的构造函数。 - -- 示例 - - ``` - try { - let query= new ddm.Query() - console.log("constructor: " + str); - } catch (e) {} - ``` - -### reset ### - -reset(\): Query; - -公共查询重置。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回重置的 Query 对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.equalTo("key", "value"); - console.log("query is " + query.getSqlLike()); - query.reset(); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("simply calls should be ok :" + e); - } - ``` - - -### equalTo ### - -equalTo\(field: string, value: number|string|boolean\): Query; - -构造一个Query对象来查询具有指定字段的条目,其值等于指定的值。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number | string | boolean

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.equalTo("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### notEqualTo ### - -notEqualTo\(field: string, value: number|string|boolean\): Query; - -构造一个Query对象以查询具有指定字段且值不等于指定值的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number|string|boolean

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### greaterThan ### - -greaterThan\(field: string, value: number|string|boolean\): Query; - -构造一个Query对象以查询具有大于指定值的指定字段的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number|string|boolean

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.greaterThan("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### lessThan ### - -lessThan\(field: string, value: number|string\): Query; - -构造一个Query对象以查询具有小于指定值的指定字段的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number|string

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.lessThan("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### greaterThanOrEqualTo ### - -greaterThanOrEqualTo\(field: string, value: number|string\): Query; - -构造一个Query对象以查询具有指定字段且值大于或等于指定值的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number|string

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.greaterThanOrEqualTo("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### lessThanOrEqualTo ### - -lessThanOrEqualTo\(field: string, value: number|string\): Query; - -构造一个Query对象以查询具有指定字段且值小于或等于指定值的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

number|string

-

-

表示指定的值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.lessThanOrEqualTo("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### isNull ### - -isNull\(field: string\): Query; - -构造一个Query对象以查询具有值为null的指定字段的条目。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.isNull("field"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### inNumber ### - -inNumber\(field: string, valueList: number[\]\): Query; - -构造一个Query对象以查询具有指定字段的条目,其值在指定的值列表中。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

valueList

-

number[]

-

-

表示指定的值列表。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.inNumber("field", "valueList"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### inString ### - -inString\(field: string, valueList: string[\]\): Query; - -构造一个Query对象以查询具有指定字段的条目,其值在指定的字符串值列表中。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

valueList

-

string[]

-

-

表示指定的字符串值列表。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.inString("field", "valueList"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### notInNumber ### - -notInNumber\(field: string, valueList: number[\]\): Query; - -构造一个Query对象以查询具有指定字段的条目,该字段的值不在指定的值列表中。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

valueList

-

number[]

-

-

表示指定的值列表。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notInNumber("field", "valueList"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### notInString ### - -notInString\(field: string, valueList: string[\]\): Query; - -构造一个Query对象以查询具有指定字段且值不在指定字符串值列表中的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

valueList

-

string[]

-

-

表示指定的字符串值列表。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notInString("field", "valueList"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### like ### - -like\(field: string, value: string\): Query; - -构造一个Query对象以查询具有与指定字符串值相似的指定字段的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

string

-

-

表示指定的字符串值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.like("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### unlike ### - -unlike\(field: string, value: string\): Query; - -构造一个Query对象以查询具有与指定字符串值不相似的指定字段的条目。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-

value

-

string

-

-

表示指定的字符串值。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.unlike("field", "value"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### and ### - -and(\): Query; - -构造一个带有与条件的查询对象。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value1"); - query.and(); - query.notEqualTo("field", "value2"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### or ### - -or(\): Query; - -构造一个带有或条件的Query对象。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value1"); - query.or(); - query.notEqualTo("field", "value2"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### orderByAsc ### - -orderByAsc\(field: string\): Query; - -构造一个Query对象,将查询结果按升序排序。 - -- 参数: - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value"); - query.orderByAsc("field"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### orderByDesc ### - -orderByDesc\(field: string\): Query; - -构造一个Query对象,将查询结果按降序排序。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段,必须以$开头, 并且不能包含' ^ '。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value"); - query.orderByDesc("field"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### limit ### - -limit\(total: number, offset: number\): Query; - -构造一个Query对象来指定结果的数量和开始位置。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

total

-

number

-

-

表示指定的结果数。

-

offset

-

number

-

-

表示起始位置。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.notEqualTo("field", "value"); - query.limit("total", "offset"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### isNotNull ### - -isNotNull\(field: string\): Query; - -使用不为空的指定字段创建查询条件。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

fieId

-

string

-

-

表示指定字段。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.isNotNull("field"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### beginGroup ### - -beginGroup\(\): Query; - -创建一个带有左括号的查询条件组。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.beginGroup(); - query.isNotNull("field"); - query.endGroup(); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### endGroup ### - -endGroup\(\): Query; - -创建一个带有右括号的查询条件组。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - let Query; - try { - let query = new ddm.Query(); - query.beginGroup(); - query.isNotNull("field"); - query.endGroup(); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### prefixKey ### - -prefixKey\(prefix: string\): Query; - -创建具有指定键前缀的查询条件。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

prefix

-

string

-

-

表示指定的键前缀。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - try { - let query = new ddm.Query(); - query.prefixKey("$.name"); - query.prefixKey("0"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -### setSuggestIndex ### - -setSuggestIndex\(index: string\): Query; - -设置一个指定的索引,将优先用于查询。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

index

-

string

-

-

指示要设置的索引。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Query

-

返回查询对象。

-
- -- 示例 - - ``` - try { - let query = new ddm.Query(); - query.setSuggestIndex("$.name"); - query.setSuggestIndex("0"); - console.log("query is " + query.getSqlLike()); - query = null; - } catch (e) { - console.log("dumplicated calls should be ok :" + e); - } - ``` - - -## KVStore +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| MAX_KEY_LENGTH | 1024 | 数据库中Key允许最大长度,单位字节。 | +| MAX_VALUE_LENGTH | 4194303 | 数据库中Value允许的最大长度,单位字节。 | +| MAX_KEY_LENGTH_DEVICE | 896 | 最大设备坐标密钥长度。 | +| MAX_STORE_ID_LENGTH | 128 | 数据库标识符允许的最大长度,单位字节。 | +| MAX_QUERY_LENGTH | 512000 | 最大查询长度。 | +| MAX_BATCH_SIZE | 128 | 最大批处理操作大小。 | + + +## KVStore KVStore数据库实例,提供增加数据、删除数据和订阅数据变更、订阅同步完成的方法。在调用KVStore的方法前,需要先通过getKVStore构建一个KVStore实例。 -### put -put\(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback\): void +### put + +put(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback<void>): void 添加指定类型键值对到数据库,并通过callback方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要添加数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-

value

-

Uint8Array | string | number | boolean

-

-

要添加数据的value,支持Uint8Array、number 、 string 、boolean,

-

Uint8Array、string 的长度不大于MAX_VALUE_LENGTH

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - 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.log("put err: " + JSON.stringify(err)); - return; - } - console.log("put success"); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### put - -put\(key: string, value: Uint8Array | string | number | boolean\): Promise +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要添加数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + | value | Uint8Array \| string \| number \| boolean | 是 | 要添加数据的value,支持Uint8Array、number 、 string 、boolean,
Uint8Array、string 的长度不大于[MAX_VALUE_LENGTH](#Constants)。 | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例 + ``` + 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.log("put err: " + JSON.stringify(err)); + return; + } + console.log("put success"); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### put + +put(key: string, value: Uint8Array | string | number | boolean): Promise<void> 添加指定类型键值对到数据库,并通过Promise方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要添加数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-

value

-

Uint8Array | string | number | boolean

-

-

要添加数据的value,支持Uint8Array、number 、 string 、boolean,

-

Uint8Array、string 的长度不大于MAX_VALUE_LENGTH

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- - -- 示例 - - ``` - 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("put success: " + JSON.stringify(data)); - }).catch((err) => { - console.log("put err: " + JSON.stringify(err)); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### delete - -delete\(key: string, callback: AsyncCallback\): void + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要添加数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + | value | Uint8Array \| string \| number \| boolean | 是 | 要添加数据的value,支持Uint8Array、number 、 string 、boolean,
Uint8Array、string 的长度不大于[MAX_VALUE_LENGTH](#Constants)。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + + +- 示例 + ``` + 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("put success: " + JSON.stringify(data)); + }).catch((err) => { + console.log("put err: " + JSON.stringify(err)); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### delete + +delete(key: string, callback: AsyncCallback<void>): void 从数据库中删除指定键值的数据,并通过callback方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要删除数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - 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.log("put err: " + JSON.stringify(err)); - return; - } - console.log("put success"); - kvStore.delete(KEY_TEST_STRING_ELEMENT, function (err,data) { - if (err != undefined) { - console.log("delete err: " + JSON.stringify(err)); - return; - } - console.log("delete success"); - }); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### delete - -delete\(key: string\): Promise +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要删除数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例 + ``` + 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.log("put err: " + JSON.stringify(err)); + return; + } + console.log("put success"); + kvStore.delete(KEY_TEST_STRING_ELEMENT, function (err,data) { + if (err != undefined) { + console.log("delete err: " + JSON.stringify(err)); + return; + } + console.log("delete success"); + }); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### delete + +delete(key: string): Promise<void> 从数据库中删除指定键值的数据,并通过Promise方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要删除数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -- 示例 - - ``` - 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("put success: " + JSON.stringify(data)); - kvStore.delete(KEY_TEST_STRING_ELEMENT).then((data) => { - console.log("delete success"); - }).catch((err) => { - console.log("delete err: " + JSON.stringify(err)); - }); - }).catch((err) => { - console.log("put err: " + JSON.stringify(err)); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### on - -on\(event: 'dataChange', type: SubscribeType, observer: Callback\): void +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要删除数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + +- 示例 + ``` + 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("put success: " + JSON.stringify(data)); + kvStore.delete(KEY_TEST_STRING_ELEMENT).then((data) => { + console.log("delete success"); + }).catch((err) => { + console.log("delete err: " + JSON.stringify(err)); + }); + }).catch((err) => { + console.log("put err: " + JSON.stringify(err)); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### on + +on(event: 'dataChange', type: SubscribeType, observer: Callback<ChangeNotification>): void 订阅指定类型的数据变更通知,此方法为同步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

说明

-

event

-

'dataChange'

-

回调函数名称。

-

type

-

SubscribeType

-

表示订阅的类型。

-

observer

-

Callback<ChangeNotification>

-

回调函数。

-
- -- 示例 - - ``` - kvStore.on('dataChange', 2, function (data) { - console.log("dataChange callback call data: " + JSON.stringify(data)); - }); - ``` - - -### on - -on\(event: 'syncComplete', syncCallback: Callback\>\): void +- 参数: + | 参数名 | 类型 | 说明 | + | -------- | -------- | -------- | + | event | 'dataChange' | 回调函数名称。 | + | type | [SubscribeType](#subscribetype) | 表示订阅的类型。 | + | observer | Callback<[ChangeNotification](#changenotification)> | 回调函数。 | + +- 示例 + ``` + kvStore.on('dataChange', 2, function (data) { + console.log("dataChange callback call data: " + JSON.stringify(data)); + }); + ``` + + +### on + +on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void 订阅数据同步完成通知,此方法为同步方法。 -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

说明

-

event

-

'syncComplete'

-

回调函数名称。

-

syncCallback

-

Callback<Array<[string, number]>>

-

回调函数。

-
- -- 示例 - - ``` - kvStore.on('syncComplete', function (data) { - console.log("syncComplete callback call data: " + data); - }); - ``` - -### off ### - -off\(event:'dataChange', observer: Callback\): void; - -取消订阅数据同步完成通知,此方法为同步方法。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

说明

-

event

-

'datachange'

-

回调函数名称。

-

observer

-

Callback<ChangeNotification>

-

回调函数。

-
- -### putBatch ### - -putBatch\(entries: Entry[], callback: AsyncCallback\): void; - -批量插入键值对到KvStore数据库中,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

entries

-

Entry[]

-

-

表示要批量插入的键值对。

-

callback

-

Asyncallback<void>

-

-

回调函数。

-
- -### putBatch ### - -putBatch\(entries: Entry[\]\): Promise; - -批量插入键值对到KvStore数据库中,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

entries

-

Entry[]

-

-

表示要批量插入的键值对。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### deleteBatch ### - -deleteBatch(keys: string[], callback: AsyncCallback): void; - -批量删除KvStore数据库中的键值对,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keys

-

string[]

-

-

表示要批量删除的键值对。

-

callback

-

Asyncallback<void>

-

-

回调函数。

-
- -### deleteBatch ### - -deleteBatch\(keys: string[\]\): Promise; - -批量删除键值对到KvStore数据库中,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keys

-

string[]

-

-

表示要批量删除的键值对。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### startTransaction ### - -startTransaction\(callback: AsyncCallback\): void; - -启动KvStore数据库中的事务,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -### startTransaction ### - -startTransaction\(\): Promise; - -启动KvStore数据库中的事务,并通过Promise方式返回,此方法为异步方法。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### commit ### - -commit\(callback: AsyncCallback\): void; - -提交KvStore数据库中的事务,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -### commit ### - -commit(\): Promise; - -提交KvStore数据库中的事务,并通过Promise方式返回,此方法为异步方法。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### rollback ### - -rollback\(callback: AsyncCallback\): void; - -在KvStore数据库中回滚事务,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -### rollback ### - -rollback(\): Promise; - -在KvStore数据库中回滚事务,并通过Promise方式返回,此方法为异步方法。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### enableSync ### - -enableSync\(enabled: boolean, callback: AsyncCallback\): void; - -设定是否开启同步,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

enabled

-

boolean

-

-

指定是否开启同步,ture表示开启同步,false表示不启用同步。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -### enableSync ### - -enableSync\(enabled: boolean\): Promise; - -设定是否开启同步,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

enabled

-

boolean

-

-

指定是否开启同步,ture表示开启同步,false表示不启用同步。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -### setSyncRange ### - -setSyncRange\(localLabels: string[], remoteSupportLabels: string[], callback: AsyncCallback\): void; - -设置同步范围标签,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

localLabels

-

string[]

-

-

表示本地设备的同步标签。

-

remoteSupportLabels

-

string[]

-

-

表示要同步数据的设备的同步标签。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -### setSyncRange ### - -setSyncRange\(localLabels: string[], remoteSupportLabels: string[\]\): Promise; - -设置同步范围标签,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

localLabels

-

string[]

-

-

表示本地设备的同步标签。

-

remoteSupportLabels

-

string[]

-

-

表示要同步数据的设备的同步标签。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于异步处理。

-
- -## SubscribeType +- 参数: + | 参数名 | 类型 | 说明 | + | -------- | -------- | -------- | + | event | 'syncComplete' | 回调函数名称。 | + | syncCallback | Callback<Array<[string, number]>> | 回调函数。 | + +- 示例 + ``` + kvStore.on('syncComplete', function (data) { + console.log("syncComplete callback call data: " + data); + }); + ``` + + +## SubscribeType 描述订阅类型。 - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

SUBSCRIBE_TYPE_LOCAL

-

0

-

表示订阅本地数据变更。

-

SUBSCRIBE_TYPE_REMOTE

-

1

-

表示订阅远端数据变更。

-

SUBSCRIBE_TYPE_ALL

-

2

-

表示订阅远端和本地数据变更。

-
- -## ChangeNotification +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| SUBSCRIBE_TYPE_LOCAL | 0 | 表示订阅本地数据变更。 | +| SUBSCRIBE_TYPE_REMOTE | 1 | 表示订阅远端数据变更。 | +| SUBSCRIBE_TYPE_ALL | 2 | 表示订阅远端和本地数据变更。 | + + +## ChangeNotification 数据变更时通知的对象,包括数据插入的数据、更新的数据、删除的数据和设备ID。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

参数类型

-

可读

-

可写

-

说明

-

insertEntries

-

Entry[]

-

-

-

数据添加记录。

-

updateEntries

-

Entry[]

-

-

-

数据更新记录。

-

deleteEntries

-

Entry[]

-

-

-

数据删除记录。

-

deviceId

-

string

-

-

-

设备ID,此处为设备UUID。

-
- -## Entry +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| insertEntries | [Entry](#entry)[] | 是 | 是 | 数据添加记录。 | +| updateEntries | [Entry](#entry)[] | 是 | 是 | 数据更新记录。 | +| deleteEntries | [Entry](#entry)[] | 是 | 是 | 数据删除记录。 | +| deviceId | string | 是 | 是 | 设备ID,此处为设备UUID。 | + + +## Entry 存储在数据库中的键值对。 - - - - - - - - - - - - - - - - - - - - - -

名称

-

参数类型

-

可读

-

可写

-

说明

-

key

-

string

-

-

-

键值。

-

value

-

Value

-

-

-

值对象。

-
- -## Value +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| key | string | 是 | 是 | 键值。 | +| value | [Value](#value) | 是 | 是 | 值对象。 | + + +## Value 存储在数据库中的对象。 - - - - - - - - - - - - - - - - - - - - - -

名称

-

参数类型

-

可读

-

可写

-

说明

-

type

-

ValueType

-

-

-

值类型。

-

value

-

Uint8Array | string | number | boolean

-

-

-

值,Uint8Array、string 的长度不大于MAX_VALUE_LENGTH

-
- -## ValueType +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| type | [ValueType](#valuetype) | 是 | 是 | 值类型。 | +| value | Uint8Array \| string \| number \| boolean | 是 | 是 | 值,Uint8Array、string 的长度不大于[MAX_VALUE_LENGTH](#Constants)。 | + + +## ValueType 用于表示数据类型。 只能被内部应用使用。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

STRING

-

0

-

表示值类型为字符串。

-

INTEGER

-

1

-

表示值类型为整数。

-

FLOAT

-

2

-

表示值类型为浮点数。

-

BYTE_ARRAY

-

3

-

表示值类型为字节数组。

-

BOOLEAN

-

4

-

表示值类型为布尔值。

-

DOUBLE

-

5

-

表示值类型为双浮点数。

-
- -## SingleKVStore +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| STRING | 0 | 表示值类型为字符串。 | +| INTEGER | 1 | 表示值类型为整数。 | +| FLOAT | 2 | 表示值类型为浮点数。 | +| BYTE_ARRAY | 3 | 表示值类型为字节数组。 | +| BOOLEAN | 4 | 表示值类型为布尔值。 | +| DOUBLE | 5 | 表示值类型为双浮点数。 | + + +## SingleKVStore 单版本分布式数据库,继承自KVStore,提供查询数据和同步数据的方法。在调用SingleKVStore的方法前,需要先通过getKVStore构建一个KVStore实例。 -### get -get\(key: string, callback: AsyncCallback\): void +### get + +get(key: string, callback: AsyncCallback<Uint8Array | string | boolean | number>): void 获取指定键的值,并通过callback方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要查询数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-

callback

-

AsyncCallback<Uint8Array | string | boolean | number>

-

-

回调函数,获取查询的值。

-
- -- 示例 - - ``` - 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.log("put err: " + JSON.stringify(err)); - return; - } - console.log("put success"); - kvStore.get(KEY_TEST_STRING_ELEMENT, function (err,data) { - console.log("get success data: " + data); - }); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - - -### get - -get\(key: string\): Promise +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要查询数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + | callback | AsyncCallback<Uint8Array \| string \| boolean \| number> | 是 | 回调函数,获取查询的值。 | + +- 示例 + ``` + 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.log("put err: " + JSON.stringify(err)); + return; + } + console.log("put success"); + kvStore.get(KEY_TEST_STRING_ELEMENT, function (err,data) { + console.log("get success data: " + data); + }); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### get + +get(key: string): Promise<Uint8Array | string | boolean | number> 获取指定键的值,并通过Promise方式返回,此方法为异步方法。 -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

key

-

string

-

-

要查询数据的key,不能为空且长度不大于MAX_KEY_LENGTH

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Uint8Array | string | boolean | number>

-

Promise实例,用于获取异步返回结果。

-
- - -- 示例 - - ``` - 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("put success: " + JSON.stringify(data)); - kvStore.get(KEY_TEST_STRING_ELEMENT).then((data) => { - console.log("get success data: " + data); - }).catch((err) => { - console.log("get err: " + JSON.stringify(err)); - }); - }).catch((err) => { - console.log("put err: " + JSON.stringify(err)); - }); - }catch (e) { - console.log("An unexpected error occurred. Error:" + e); - } - ``` - -### getEntries ### - -getEntries\(keyPrefix: string, callback: AsyncCallback\): void; - -获取匹配指定键前缀的所有键值对,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-

callback

-

AsyncCallback<Entry[]>

-

-

回调函数,获取指定前缀的键值对列表。

-
- -- 示例 - - ``` - try { - let entries = []; - for (var i = 0; i < 10; i++) { - var key = 'batch_test_number_key'; - var entry = { - key : key + i, - value : { - type : factory.ValueType.INTEGER, - value : 222 - } - } - entries.push(entry); - } - kvStore.putBatch(entries, async function (err,data) { - console.log('putBatch success'); - kvStore.getEntries('batch_test_number_key', function (err,entrys) { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - console.log('entrys[0]: ' + JSON.stringify(entrys[0])); - }); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(keyPrefix: string\): Promise; - -获取匹配指定键前缀的所有键值对,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Entry[]>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - let entries = []; - for (var i = 0; i < 10; i++) { - var key = 'batch_test_string_key'; - var entry = { - key : key + i, - value : { - type : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries).then(async (err) => { - console.log('putBatch success'); - kvStore.getEntries('batch_test_string_key').then((entrys) => { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - console.log('entrys[0]: ' + JSON.stringify(entrys[0])); - console.log('entrys[0].value: ' + JSON.stringify(entrys[0].value)); - console.log('entrys[0].value.value: ' + entrys[0].value.value); - }).catch((err) => { - console.log('getEntries fail ' + JSON.stringify(err)); - }); - }).catch((err) => { - console.log('putBatch fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('PutBatch001 e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的键值对列表,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<Entry[]>

-

-

回调函数,获取指定前缀的键值对列表。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries, async function (err,data) { - console.log('putBatch success'); - kvStore.getEntries('batch_test_bool_key', function (err,entrys) { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - }); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(query: Query\): Promise; - -获取匹配指定键前缀的所有键值对,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Entry[]>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('GetEntries entries: ' + entries); - kvStore.putBatch(entries).then(async (err) => { - console.log('GetEntries putBatch success'); - const query = new factory.Query(); - query.prefixKey("batch_test"); - kvStore.getEntries(query).then((entrys) => { - console.log('GetEntries getEntries success'); - }).catch((err) => { - console.log('GetEntries getEntries fail ' + JSON.stringify(err)); - }); - }).catch((err) => { - console.log('GetEntries putBatch fail ' + JSON.stringify(err)); - }); - console.log('GetEntries success'); - }catch(e) { - console.log('GetEntries e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(keyPrefix: string, callback: AsyncCallback\): void; - -从 KvStore 数据库中获取具有指定前缀的结果集,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-

callback

-

AsyncCallback<KvStoreResultSet>

-

-

回调函数,获取具有指定前缀的结果集。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries, async function (err, data) { - console.log('GetResultSet putBatch success'); - kvStore.getResultSet('batch_test_string_key', async function (err, result) { - console.log('GetResultSet getResultSet success'); - resultSet = result; - kvStore.closeResultSet(resultSet, function (err, data) { - console.log('GetResultSet closeResultSet success'); - }) - }); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(keyPrefix: string\): Promise; - -从 KvStore 数据库中获取具有指定前缀的结果集,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KvStoreResultSet>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries).then(async (err) => { - console.log('GetResult putBatch success'); - }).catch((err) => { - console.log('PutBatch putBatch fail ' + JSON.stringify(err)); - }); - kvStore.getResultSet('batch_test_string_key').then((result) => { - console.log('GetResult getResultSet success'); - resultSet = result; - }).catch((err) => { - console.log('GetResult getResultSet fail ' + JSON.stringify(err)); - }); - kvStore.closeResultSet(resultSet).then((err) => { - console.log('GetResult closeResultSet success'); - }).catch((err) => { - console.log('GetResult closeResultSet fail ' + JSON.stringify(err)); - }); - - }catch(e) { - console.log('GetResult e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的 KvStoreResultSet 对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<KvStoreResultSet>

-

-

回调函数,获取与指定 Query 对象匹配的 KvStoreResultSet 对象。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries, async function (err, data) { - console.log('putBatch success'); - kvStore.getResultSet('batch_test_string_key', async function (err, result) { - console.log('getResultSet success'); - resultSet = result; - kvStore.closeResultSet(resultSet, function (err, data) { - }) - }); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(query: Query\): Promise; - -获取与指定 Query 对象匹配的 KvStoreResultSet 对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KvStoreResultSet>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries).then(async (err) => { - console.log('putBatch success'); - }).catch((err) => { - console.log('putBatch fail ' + err); - }); - kvStore.getResultSet('batch_test_string_key').then((result) => { - console.log('getResultSet success'); - resultSet = result; - }).catch((err) => { - console.log('getResultSet fail ' + err); - }); - kvStore.closeResultSet(resultSet).then((err) => { - console.log('closeResultSet success'); - }).catch((err) => { - console.log('closeResultSet fail ' + err); - }); - }catch(e) { - console.log('ResultSet e ' + e); - } - ``` - -### closeResultSet ### - -closeResultSet\(resultSet: KvStoreResultSet, callback: AsyncCallback\): void; - -关闭由 getResultSet 返回的 KvStoreResultSet 对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

resultSet

-

KvStoreResultSet

-

-

表示要关闭的 KvStoreResultSet 对象。

-

callback

-

AsyncCallback<void>

-

-

回调函数,获取由 getResultSet 返回的 KvStoreResultSet 对象。

-
- -- 示例 - - ``` - try { - console.log('CloseResultSet success'); - let resultSet = null; - kvStore.closeResultSet(resultSet, function (err, data) { - if (err == undefined) { - console.log('closeResultSet success'); - } else { - console.log('closeResultSet fail'); - } - }); - }catch(e) { - console.log('CloseResultSet e ' + e); - } - ``` - - -### closeResultSet ### - -closeResultSet\(resultSet: KvStoreResultSet\): Promise; - -关闭由 getResultSet 返回的 KvStoreResultSet 对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

resultSet

-

KvStoreResultSet

-

-

表示要关闭的 KvStoreResultSet 对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - console.log('CloseResultSet success'); - let resultSet = null; - kvStore.closeResultSet(resultSet).then(() => { - console.log('closeResultSet success'); - }).catch((err) => { - console.log('closeResultSet fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('CloseResultSet e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的结果数,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<number>

-

-

回调函数,获取与指定 Query 对象匹配的结果数。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(query: Query\): Promise; - -获取与指定 Query 对象匹配的结果数,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<number>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### removeDeviceData ### - -removeDeviceData\(deviceId: string, callback: AsyncCallback\): void; - -删除指定设备的数据,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

表示要删除设备的名称。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - const KEY_TEST_FLOAT_ELEMENT = 'key_test_float_2'; - const KEY_TEST_STRING_ELEMENT = 'key_test_string_2'; - try { - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, async function (err,data) { - console.log('put success'); - const deviceid = 'no_exist_device_id'; - kvStore.removeDeviceData(deviceid, async function (err,data) { - if (err == undefined) { - console.log('removeDeviceData success'); - done(); - } else { - console.log('removeDeviceData fail'); - kvStore.get(KEY_TEST_STRING_ELEMENT, async function (err,data) { - console.log('RemoveDeviceData get success'); - }); - } - }); - }); - }catch(e) { - console.log('RemoveDeviceData e ' + e); - } - ``` - - -### removeDeviceData ### - -removeDeviceData\(deviceId: string\): Promise; - -删除指定设备的数据,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

表示要删除设备的名称。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - const KEY_TEST_STRING_ELEMENT = 'key_test_string_2'; - const VALUE_TEST_STRING_ELEMENT = 'value-string-001'; - try { - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((err) => { - console.log('removeDeviceData put success'); - }).catch((err) => { - console.log('put fail ' + JSON.stringify(err)); - }); - const deviceid = 'no_exist_device_id'; - kvStore.removeDeviceData(deviceid).then((err) => { - console.log('removeDeviceData success'); - }).catch((err) => { - console.log('removeDeviceData fail ' + JSON.stringify(err)); - }); - kvStore.get(KEY_TEST_STRING_ELEMENT).then((data) => { - console.log('get success data:' + data); - }).catch((err) => { - console.log('RemoveDeviceData get fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('RemoveDeviceData e ' + e); - } - ``` - - -### on ### - -on\(event: 'syncComplete', syncCallback: Callback>\): void; - -注册同步 SingleKvStore 数据库回调,并通过异步方式返回。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'syncComplete'

-

-

设备状态改变时触发的事件名。

-

syncCallback

-

Callback<Array<[string, number]>>>

-

-

用于向调用方发送同步结果的回调。

-
- -- 示例 - - ``` - const KEY_TEST_FLOAT_ELEMENT = 'key_test_float'; - const VALUE_TEST_FLOAT_ELEMENT = 321.12; - try { - kvStore.on('dataChange', 0, function (data) { - console.log('OnChange 0' + data) - }); - kvStore.put(KEY_TEST_FLOAT_ELEMENT, VALUE_TEST_FLOAT_ELEMENT).then((data) => { - console.log('OnChange put success'); - }).catch((error) => { - console.log('OnChange put fail ' + error); - }); - }catch(e) { - console.log('OnChange put e ' + e); - } - ``` - - -### off ### - -off\(event: 'syncComplete', syncCallback: Callback>\): void; - -取消注册同步 SingleKvStore 数据库回调,并通过异步方式返回。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'syncComplete'

-

-

设备状态改变时触发的事件名。

-

syncCallback

-

Callback<Array<[string, number]>>>

-

-

用于向调用方发送同步结果的回调。

-
- -- 示例 - - ``` - try { - const func = function (data) { - console.log('OffChange 0' + data) - }; - kvStore.on('dataChange', 0, func); - kvStore.off('dataChange', func); - }catch(e) { - console.log('OffChange e ' + e); - } - ``` - - -### sync - -sync\(deviceIdList: string\[\], mode: SyncMode, allowedDelayMs?: number\): void + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要查询数据的key,不能为空且长度不大于[MAX_KEY_LENGTH](#Constants)。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<Uint8Array \| string \| boolean \| number> | Promise实例,用于获取异步返回结果。 | + + +- 示例 + ``` + 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("put success: " + JSON.stringify(data)); + kvStore.get(KEY_TEST_STRING_ELEMENT).then((data) => { + console.log("get success data: " + data); + }).catch((err) => { + console.log("get err: " + JSON.stringify(err)); + }); + }).catch((err) => { + console.log("put err: " + JSON.stringify(err)); + }); + }catch (e) { + console.log("An unexpected error occurred. Error:" + e); + } + ``` + + +### sync + +sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void 在手动同步模式下,触发数据库同步,此方法为同步方法。 -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceIdList

-

string[]

-

-

同一组网环境下,需要同步的设备的deviceId列表。

-

mode

-

SyncMode

-

-

同步类型。

-

allowedDelayMs

-

number

-

-

可选参数,允许延时时间,单位:ms(毫秒)。

-
- -- 示例: - - ``` - kvStore.sync(deviceIds, 1, 1000); - ``` - -### setSyncParam ### - -setSyncParam\(defaultAllowedDelayMs: number, callback: AsyncCallback\): void; - -设置允许数据库同步的默认延迟,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

defaultAllowedDelayMs

-

number

-

-

表示数据库同步允许的默认延迟,以毫秒为单位。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - try { - const defaultAllowedDelayMs = 500; - kvStore.setSyncParam(defaultAllowedDelayMs, function (err,data) { - console.log('SetSyncParam put success'); - }); - }catch(e) { - console.log('testSingleKvStoreSetSyncParam101 e ' + e); - } - ``` - - -### setSyncParam ### - -setSyncParam\(defaultAllowedDelayMs: number\): Promise; - -设置允许数据库同步的默认延迟,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

defaultAllowedDelayMs

-

number

-

-

表示数据库同步允许的默认延迟,以毫秒为单位。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - const defaultAllowedDelayMs = 500; - kvStore.setSyncParam(defaultAllowedDelayMs).then((err) => { - console.log('SetSyncParam put success'); - }).catch((err) => { - console.log('SetSyncParam put fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('SetSyncParam e ' + e); - } - ``` - - -### getSecurityLevel ### - -getSecurityLevel\(callback: AsyncCallback\): void; - -获取数据库的安全级别,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

callback

-

AsyncCallback<SecurityLevel>

-

-

回调函数。

-
- -- 示例 - - ``` - try { - kvStore.getSecurityLevel(function (err,data) { - console.log('getSecurityLevel success'); - }); - }catch(e) { - console.log('GetSecurityLeve e ' + e); - } - ``` - - -### getSecurityLevel ### - -getSecurityLevel(\): Promise; - -获取数据库的安全级别,并通过Promise方式返回,此方法为异步方法。 - -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<SecurityLevel>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - kvStore.getSecurityLevel().then((data) => { - console.log(' getSecurityLevel success'); - }).catch((err) => { - console.log('getSecurityLevel fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('GetSecurityLeve e ' + e); - } - ``` - - -## DeviceKVStore ## - -在分布式系统中通过设备管理分布式数据,继承自KvStore,提供查询数据和同步数据的方法。在调用DeviceKVStore的方法前,需要先通过getKVStore构建一个KVStore实例。 - -### get ### - -get\(deviceId: string, key: string, callback: AsyncCallback\): void; - -获取与指定设备 ID 和密钥匹配的 String 值,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

key

-

string

-

-

表示要查询的String值的键。

-

callback

-

AsyncCallback<boolean|string|number|Uint8Array>

-

-

回调函数,返回匹配给定条件的字符串值。

-
- -- 示例 - - ``` - const KEY_TEST_STRING_ELEMENT = 'key_test_string_2'; - const VALUE_TEST_STRING_ELEMENT = 'value-string-002'; - try{ - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, async function (err,data) { - console.log('put success'); - kvStore.get(localDeviceId, KEY_TEST_STRING_ELEMENT, function (err,data) { - console.log('get success'); - }); - }) - }catch(e) { - console.log('get e' + e); - } - ``` - - -### get ### - -get\(deviceId: string, key: string\): Promise; - -获取与指定设备 ID 和密钥匹配的 String 值,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

key

-

string

-

-

表示要查询的String值的键。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<boolean|string|number|Uint8Array>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - const KEY_TEST_STRING_ELEMENT = 'key_test_string_2'; - const VALUE_TEST_STRING_ELEMENT = 'value-string-002'; - try { - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then(async (data) => { - console.log(' put success'); - kvStore.get(localDeviceId, KEY_TEST_STRING_ELEMENT).then((data) => { - console.log('get success'); - }).catch((err) => { - console.log('get fail ' + JSON.stringify(err)); - }); - }).catch((error) => { - console.log('put error' + error); - }); - } catch (e) { - console.log('Get e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(deviceId: string, keyPrefix: string, callback: AsyncCallback\): void; - -获取与指定设备 ID 和密钥前缀匹配的所有键值对,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-

callback

-

AsyncCallback<Entry[]>

-

-

回调函数,返回满足给定条件的所有键值对的列表。

-
- -- 示例 - - ``` - try { - let entries = []; - for (var i = 0; i < 10; i++) { - var key = 'batch_test_string_key'; - var entry = { - key : key + i, - value : { - type : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries, async function (err,data) { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_string_key', function (err,entrys) { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - console.log('entrys[0]: ' + JSON.stringify(entrys[0])); - }); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(deviceId: string, keyPrefix: string\): Promise; - -获取与指定设备 ID 和密钥前缀匹配的所有键值对,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Entry[]>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - let entries = []; - for (var i = 0; i < 10; i++) { - var key = 'batch_test_string_key'; - var entry = { - key : key + i, - value : { - type : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries).then(async (err) => { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_string_key').then((entrys) => { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - console.log('entrys[0]: ' + JSON.stringify(entrys[0])); - console.log('entrys[0].value: ' + JSON.stringify(entrys[0].value)); - console.log('entrys[0].value.value: ' + entrys[0].value.value); - }).catch((err) => { - console.log('getEntries fail ' + JSON.stringify(err)); - }); - }).catch((err) => { - console.log('putBatch fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的键值对列表,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<Entry[]>

-

-

回调函数,返回与指定 Query 对象匹配的键值对列表。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries, async function (err,data) { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_bool_key', function (err,entrys) { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - }); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(query: Query\): Promise; - -获取与指定 Query 对象匹配的键值对列表,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Entry[]>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries).then(async (err) => { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_bool_key').then((entrys) => { - console.log('getEntries success'); - }).catch((err) => { - console.log('getEntries fail ' + JSON.stringify(err)); - }); - }).catch((err) => { - console.log('putBatch fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(deviceId: string, query: Query, callback: AsyncCallback\): void; - -获取与指定设备 ID 和 Query 对象匹配的键值对列表,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

键值对所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<Entry[]>

-

-

回调函数,返回与指定 Query 对象匹配的键值对列表。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries, async function (err,data) { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_bool_key', function (err,entrys) { - console.log('getEntries success'); - console.log('entrys.length: ' + entrys.length); - }); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getEntries ### - -getEntries\(deviceId: string, query: Query\): Promise; - -获取与指定设备 ID 和 Query 对象匹配的键值对列表,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

键值对所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<Entry[]>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.BYTE_ARRAY, - value : arr - } - } - entries.push(entry); - } - console.log('entries: ' + entries); - kvStore.putBatch(entries).then(async (err) => { - console.log('putBatch success'); - kvStore.getEntries(localDeviceId, 'batch_test_bool_key').then((entrys) => { - console.log('getEntries success'); - }).catch((err) => { - console.log('getEntries fail ' + JSON.stringify(err)); - }); - }).catch((err) => { - console.log('putBatch fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('PutBatch e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(deviceId: string, keyPrefix: string, callback: AsyncCallback\): void; - -获取与指定设备 ID 和密钥前缀匹配的 KvStoreResultSet 对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-

callback

-

AsyncCallback<KvStoreResultSet>

-

-

回调函数,返回 KvStoreResultSet 对象。

-
- -- 示例 - - ``` - try { - let resultSet; - kvStore.getResultSet(localDeviceId, 'batch_test_string_key', async function (err, result) { - console.log('getResultSet success'); - resultSet = result; - kvStore.closeResultSet(resultSet, function (err, data) { - console.log('closeResultSet success'); - }) - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(deviceId: string, keyPrefix: string\): Promise; - -获取与指定设备 ID 和密钥前缀匹配的 KvStoreResultSet 对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要查询其数据的设备。

-

keyPrefix

-

string

-

-

表示要匹配的键前缀。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KvStoreResultSet>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - let resultSet; - kvStore.getResultSet(localDeviceId, 'batch_test_string_key').then((result) => { - console.log('getResultSet success'); - resultSet = result; - }).catch((err) => { - console.log('getResultSet fail ' + JSON.stringify(err)); - }); - kvStore.closeResultSet(resultSet).then((err) => { - console.log('closeResultSet success'); - }).catch((err) => { - console.log('closeResultSet fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的 KvStoreResultSet 对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<KvStoreResultSet>

-

-

回调函数,返回与指定 Query 对象匹配的 KvStoreResultSet 对象。

-
- -- 示例 - - ``` - try { - let resultSet; - kvStore.getResultSet(function (err, result) { - console.log('getResultSet success'); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(query: Query\): Promise; - -获取与指定 Query 对象匹配的 KvStoreResultSet 对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KvStoreResultSet>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries).then(async (err) => { - console.log('GetResultSet putBatch success'); - }).catch((err) => { - console.log('PutBatch putBatch fail ' + JSON.stringify(err)); - }); - const query = new factory.Query(); - query.deviceId(localDeviceId); - query.prefixKey("batch_test"); - console.log("GetResultSet " + query.getSqlLike()); - kvStore.getResultSet(query).then((result) => { - console.log('GetResultSet getResultSet success'); - resultSet = result; - }).catch((err) => { - console.log('GetResultSet getResultSet fail ' + JSON.stringify(err)); - }); - kvStore.closeResultSet(resultSet).then((err) => { - console.log('GetResultSet closeResultSet success'); - }).catch((err) => { - console.log('GetResultSet closeResultSet fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(deviceId: string, query: Query, callback: AsyncCallback\): void; - -获取与指定设备ID和Query对象匹配的KvStoreResultSet对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

KvStoreResultSet对象所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<KvStoreResultSet>

-

-

回调函数,返回与指定 Query 对象匹配的 KvStoreResultSet 对象。

-
- -- 示例 - - ``` - try { - let resultSet; - kvStore.getResultSet('test_key_string', 123, function (err, result) { - console.log('getResultSet success'); - }); - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### getResultSet ### - -getResultSet\(deviceId: string, query: Query\): Promise; - -获取与指定设备ID和Query对象匹配的KvStoreResultSet对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

KvStoreResultSet对象所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<KvStoreResultSet>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - 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 : factory.ValueType.STRING, - value : 'batch_test_string_value' - } - } - entries.push(entry); - } - kvStore.putBatch(entries).then(async (err) => { - console.log('GetResultSet putBatch success'); - }).catch((err) => { - console.log('PutBatch putBatch fail ' + JSON.stringify(err)); - }); - const query = new factory.Query(); - prefixKey("batch_test"); - kvStore.getResultSet(localDeviceId, query).then((result) => { - console.log('GetResultSet getResultSet success'); - resultSet = result; - }).catch((err) => { - console.log('GetResultSet getResultSet fail ' + JSON.stringify(err)); - }); - query.deviceId(localDeviceId); - console.log("GetResultSet " + query.getSqlLike()); - kvStore.closeResultSet(resultSet).then((err) => { - console.log('GetResultSet closeResultSet success'); - }).catch((err) => { - console.log('GetResultSet closeResultSet fail ' + JSON.stringify(err)); - }); - - }catch(e) { - console.log('GetResultSet e ' + e); - } - ``` - - -### closeResultSet ### - -closeResultSet\(resultSet: KvStoreResultSet, callback: AsyncCallback\): void; - -关闭由 getResultSet 返回的 KvStoreResultSet 对象,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

resultSet

-

KvStoreResultSet

-

-

指示要关闭的 KvStoreResultSet 对象。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - try { - console.log('CloseResultSet success'); - let resultSet = null; - kvStore.closeResultSet(resultSet, function (err, data) { - if (err == undefined) { - console.log('closeResultSet success'); - } else { - console.log('closeResultSet fail'); - } - }); - }catch(e) { - console.log('CloseResultSet e ' + e); - } - ``` - - -### closeResultSet ### - -closeResultSet\(resultSet: KvStoreResultSet\): Promise; - -关闭由 getResultSet 返回的 KvStoreResultSet 对象,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

resultSet

-

KvStoreResultSet

-

-

指示要关闭的 KvStoreResultSet 对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - console.log('CloseResultSet success'); - let resultSet = null; - kvStore.closeResultSet(resultSet).then(() => { - console.log('closeResultSet success'); - }).catch((err) => { - console.log('closeResultSet fail ' + JSON.stringify(err)); - }); - }catch(e) { - console.log('CloseResultSet e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(query: Query, callback: AsyncCallback\): void; - -获取与指定 Query 对象匹配的结果数,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<number>

-

-

回调函数,返回与指定 Query 对象匹配的结果数。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(query: Query\): Promise; - -获取与指定 Query 对象匹配的结果数,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<number>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(deviceId: string, query: Query, callback: AsyncCallback\): void; - -获取与指定设备 ID 和 Query 对象匹配的结果数,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

表示结果所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-

callback

-

AsyncCallback<number>

-

-

回调函数,返回与指定 Query 对象匹配的结果数。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### getResultSize ### - -getResultSize\(deviceId: string, query: Query\): Promise; - -获取与指定设备 ID 和 Query 对象匹配的结果数,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

表示结果所属的设备ID。

-

query

-

Query

-

-

表示查询对象。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<number>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - try { - // pass query - console.log('GetResultSize success'); - }catch(e) { - console.log('GetResultSize e ' + e); - } - ``` - - -### removeDeviceData ### - -removeDeviceData\(deviceId: string, callback: AsyncCallback\): void; - -从当前数据库中删除指定设备的数据,并通过callback方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要删除其数据的设备。

-

callback

-

AsyncCallback<void>

-

-

回调函数。

-
- -- 示例 - - ``` - const KEY_TEST_STRING_ELEMENT = 'key_test_string'; - const VALUE_TEST_STRING_ELEMENT = 'value-string-001'; - try { - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, async function (err,data) { - console.log('RemoveDeviceData put success'); - const deviceid = 'no_exist_device_id'; - kvStore.removeDeviceData(deviceid, async function (err,data) { - if (err == undefined) { - console.log('removeDeviceData success'); - } else { - console.log('testDeviceKvStoreRemoveDeviceData101 removeDeviceData fail'); - kvStore.get(localDeviceId, KEY_TEST_STRING_ELEMENT, async function (err,data) { - console.log('RemoveDeviceData get success'); - }); - } - }); - }); - }catch(e) { - console.log('testDeviceKvStoreRemoveDeviceData101 e ' + e); - } - ``` - - -### removeDeviceData ### - -removeDeviceData\(deviceId: string\): Promise; - -从当前数据库中删除指定设备的数据,并通过Promise方式返回,此方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceId

-

string

-

-

标识要删除其数据的设备。

-
- -- 返回值: - - - - - - - - - - -

类型

-

说明

-

Promise<void>

-

Promise实例,用于获取异步返回结果。

-
- -- 示例 - - ``` - const KEY_TEST_STRING_ELEMENT = 'key_test_string'; - const VALUE_TEST_STRING_ELEMENT = 'value-string-001'; - try { - kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((err) => { - console.log('RemoveDeviceData put success'); - }).catch((err) => { - console.log('RemoveDeviceData put fail ' + JSON.stringify(err)); - }); - - const deviceid = 'no_exist_device_id'; - kvStore.removeDeviceData(deviceid).then((err) => { - console.log('RemoveDeviceData removeDeviceData success'); - }).catch((err) => { - console.log('RemoveDeviceData removeDeviceData fail ' + JSON.stringify(err)); - }); - - kvStore.get(localDeviceId, KEY_TEST_STRING_ELEMENT).then((data) => { - console.log('RemoveDeviceData get success data:' + data); - }).catch((err) => { - console.log('RemoveDeviceData get fail ' + JSON.stringify(err)); - }); - - }catch(e) { - console.log('RemoveDeviceData e ' + e); - } - ``` - - -### sync ### - -sync\(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number\): void; - -同步 DeviceKvStore 数据库,该方法为异步方法。 - -- 参数: - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

deviceIdList

-

string[]

-

-

需要同步DeviceKvStore数据库的设备ID列表。

-

mode

-

SyncMode

-

-

表示同步方式,PUSH、PULL或PUSH_PULL。

-

allowedDelayMs

-

- number

-

-

可选参数,允许延时时间,单位:ms(毫秒)。

-
- -- 示例 - - ``` - 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 = ['A12C1F9261528B21F95778D2FDC0B2E33943E6251AC5487F4473D005758905DB']; - const mode = factory.SyncMode.PULL_ONLY; - kvStore.sync(devices, mode); - }); - }catch(e) { - console.log('Sync e' + e); - } - ``` - -### on ### - -on\(event: 'syncComplete', syncCallback: Callback\>): void; - -注册同步 DeviceKvStore 数据库回调,通过异步回调返回。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'syncComplete'

-

-

设备状态改变时触发的事件名。

-

syncCallback

-

Callback<Array<[string, number]>>>

-

-

用于向调用方发送同步结果的回调。

-
- -- 示例 - - ``` - const KEY_TEST_FLOAT_ELEMENT = 'key_test_float'; - const VALUE_TEST_FLOAT_ELEMENT = 321.12; - try { - kvStore.on('dataChange', 0, function (data) { - console.log('OnChange 0' + data) - }); - kvStore.put(KEY_TEST_FLOAT_ELEMENT, VALUE_TEST_FLOAT_ELEMENT).then((data) => { - console.log('OnChange put success'); - }).catch((error) => { - console.log('OnChange put fail ' + error); - }); - }catch(e) { - console.log('OnChange put e ' + e); - } - ``` - - -### off ### - -off\(event: 'syncComplete', syncCallback: Callback>\): void; - -取消注册同步 DeviceKvStore 数据库回调,通过异步回调返回。 - -- 参数: - - - - - - - - - - - - - - - - - - - -

参数名

-

类型

-

必填

-

说明

-

event

-

'syncComplete'

-

-

设备状态改变时触发的事件名。

-

syncCallback

-

Callback<Array<[string, number]>>>

-

-

用于向调用方发送同步结果的回调。

-
- -- 示例 - - ``` - try { - const func = function (data) { - console.log('OffChange 0' + data) - }; - kvStore.on('dataChange', 0, func); - kvStore.off('dataChange', func); - }catch(e) { - console.log('OffChange001 e ' + e); - } - ``` - - -## SyncMode +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | deviceIdList | string[] | 是 | 同一组网环境下,需要同步的设备的deviceId列表。 | + | mode | [SyncMode](#syncmode) | 是 | 同步类型。 | + | allowedDelayMs | number | 否 | 可选参数,允许延时时间,单位:ms(毫秒)。 | + +- 示例: + ``` + kvStore.sync(deviceIds, 1, 1000); + ``` + + +## SyncMode 用于指定同步模式。 - - - - - - - - - - - - - - - - - - - -

名称

-

默认值

-

说明

-

PULL_ONLY

-

0

-

表示只能从远端拉取数据到本端。

-

PUSH_ONLY

-

1

-

表示只能从本端推送数据到对端。

-

PUSH_PULL

-

2

-

表示从本端推送数据到远端,然后从远端拉取数据到本端。

-
+| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| PULL_ONLY | 0 | 表示只能从远端拉取数据到本端。 | +| PUSH_ONLY | 1 | 表示只能从本端推送数据到对端。 | +| PUSH_PULL | 2 | 表示从本端推送数据到远端,然后从远端拉取数据到本端。 |