• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 创建和获取分布式数据库<a name="ZH-CN_TOPIC_0000001164130784"></a>
2
3>![](../../public_sys-resources/icon-note.gif) **说明:**
4>从 API Version 7 开始支持。
5
6## 导入模块<a name="zh-cn_topic_0000001179090937_s56d19203690d4782bfc74069abb6bd71"></a>
7
8```
9import factory from '@ohos.data.distributeddata';
10```
11
12## 权限<a name="zh-cn_topic_0000001179090937_section11257113618419"></a>
13
1415
16## createKVManager\(config: KVManagerConfig, callback: AsyncCallback<KVManager\>\): void<a name="zh-cn_topic_0000001179090937_section192192415554"></a>
17
18创建分布式数据库管理对象。
19
20此方法为异步callback方法。
21
22-   参数:
23
24    <a name="zh-cn_topic_0000001179090937_table69661135912"></a>
25    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row149668318915"><th class="cellrowborder" valign="top" width="18.13%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p7966738914"><a name="zh-cn_topic_0000001179090937_p7966738914"></a><a name="zh-cn_topic_0000001179090937_p7966738914"></a>参数名</p>
26    </th>
27    <th class="cellrowborder" valign="top" width="27.029999999999998%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p296713699"><a name="zh-cn_topic_0000001179090937_p296713699"></a><a name="zh-cn_topic_0000001179090937_p296713699"></a>类型</p>
28    </th>
29    <th class="cellrowborder" valign="top" width="54.84%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p9967231197"><a name="zh-cn_topic_0000001179090937_p9967231197"></a><a name="zh-cn_topic_0000001179090937_p9967231197"></a>说明</p>
30    </th>
31    </tr>
32    </thead>
33    <tbody><tr id="zh-cn_topic_0000001179090937_row99671533914"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p79671633910"><a name="zh-cn_topic_0000001179090937_p79671633910"></a><a name="zh-cn_topic_0000001179090937_p79671633910"></a>config</p>
34    </td>
35    <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p11967433914"><a name="zh-cn_topic_0000001179090937_p11967433914"></a><a name="zh-cn_topic_0000001179090937_p11967433914"></a><a href="js-apis-data-kvmanager-config.md#zh-cn_topic_0000001175852127_section4346145712159">KVManagerConfig</a></p>
36    </td>
37    <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p69671631796"><a name="zh-cn_topic_0000001179090937_p69671631796"></a><a name="zh-cn_topic_0000001179090937_p69671631796"></a>用于配置管理对象,包括用户信息和应用包名。</p>
38    </td>
39    </tr>
40    <tr id="zh-cn_topic_0000001179090937_row5826185610187"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p1482895641811"><a name="zh-cn_topic_0000001179090937_p1482895641811"></a><a name="zh-cn_topic_0000001179090937_p1482895641811"></a>callback</p>
41    </td>
42    <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1482845617187"><a name="zh-cn_topic_0000001179090937_p1482845617187"></a><a name="zh-cn_topic_0000001179090937_p1482845617187"></a>AsyncCallback&lt;<a href="#zh-cn_topic_0000001179090937_section12882825611">KVManager</a>&gt;</p>
43    </td>
44    <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p118284566187"><a name="zh-cn_topic_0000001179090937_p118284566187"></a><a name="zh-cn_topic_0000001179090937_p118284566187"></a>回调函数,获取数据库管理对象实例。</p>
45    </td>
46    </tr>
47    </tbody>
48    </table>
49
50-   返回值:
51
5253
54-   示例:
55
56    ```
57    factory.createKVManager(config, function (err, manager) {
58                kvManager = manager;
59            });
60    ```
61
62
63## createKVManager\(config: KVManagerConfig\): Promise<KVManager\><a name="zh-cn_topic_0000001179090937_section19618143402218"></a>
64
65创建分布式数据库管理对象。
66
67此方法为异步promise方法。
68
69-   参数:
70
71    <a name="zh-cn_topic_0000001179090937_table1861873492218"></a>
72    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row11619163419226"><th class="cellrowborder" valign="top" width="18.13%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p1361953472215"><a name="zh-cn_topic_0000001179090937_p1361953472215"></a><a name="zh-cn_topic_0000001179090937_p1361953472215"></a>参数名</p>
73    </th>
74    <th class="cellrowborder" valign="top" width="27.029999999999998%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p116191334162215"><a name="zh-cn_topic_0000001179090937_p116191334162215"></a><a name="zh-cn_topic_0000001179090937_p116191334162215"></a>类型</p>
75    </th>
76    <th class="cellrowborder" valign="top" width="54.84%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p15619734192217"><a name="zh-cn_topic_0000001179090937_p15619734192217"></a><a name="zh-cn_topic_0000001179090937_p15619734192217"></a>说明</p>
77    </th>
78    </tr>
79    </thead>
80    <tbody><tr id="zh-cn_topic_0000001179090937_row361903412218"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p126191134162215"><a name="zh-cn_topic_0000001179090937_p126191134162215"></a><a name="zh-cn_topic_0000001179090937_p126191134162215"></a>config</p>
81    </td>
82    <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p68611843483"><a name="zh-cn_topic_0000001179090937_p68611843483"></a><a name="zh-cn_topic_0000001179090937_p68611843483"></a><a href="js-apis-data-kvmanager-config.md#zh-cn_topic_0000001175852127_section4346145712159">KVManagerConfig</a></p>
83    </td>
84    <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p9619183422211"><a name="zh-cn_topic_0000001179090937_p9619183422211"></a><a name="zh-cn_topic_0000001179090937_p9619183422211"></a>用于配置管理对象,包括用户信息和应用包名。</p>
85    </td>
86    </tr>
87    </tbody>
88    </table>
89
90-   返回值:
91
92    <a name="zh-cn_topic_0000001179090937_table4620834182216"></a>
93    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row362014348227"><th class="cellrowborder" valign="top" width="25.1%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001179090937_p186203346224"><a name="zh-cn_topic_0000001179090937_p186203346224"></a><a name="zh-cn_topic_0000001179090937_p186203346224"></a>参数名</p>
94    </th>
95    <th class="cellrowborder" valign="top" width="74.9%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001179090937_p11620113414229"><a name="zh-cn_topic_0000001179090937_p11620113414229"></a><a name="zh-cn_topic_0000001179090937_p11620113414229"></a>类型</p>
96    </th>
97    </tr>
98    </thead>
99    <tbody><tr id="zh-cn_topic_0000001179090937_row186201834102218"><td class="cellrowborder" valign="top" width="25.1%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001179090937_p4620203417221"><a name="zh-cn_topic_0000001179090937_p4620203417221"></a><a name="zh-cn_topic_0000001179090937_p4620203417221"></a>Promise&lt;<a href="#zh-cn_topic_0000001179090937_section12882825611">KVManager</a>&gt;</p>
100    </td>
101    <td class="cellrowborder" valign="top" width="74.9%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001179090937_p9621234172213"><a name="zh-cn_topic_0000001179090937_p9621234172213"></a><a name="zh-cn_topic_0000001179090937_p9621234172213"></a>promise实例,用于获取异步返回结果。</p>
102    </td>
103    </tr>
104    </tbody>
105    </table>
106
107-   示例:
108
109    ```
110    const promise = factory.createKVManager(config);
111    promise.then((manager) => {
112                kvManager = manager;
113            }).catch((err) => {
114            });
115    ```
116
117
118## KVManager<a name="zh-cn_topic_0000001179090937_section12882825611"></a>
119
120提供管理分布式数据库的接口。
121
122### getKVStore<T extends KVStore\>\(storeId: string, options: Options\): Promise<T\><a name="zh-cn_topic_0000001179090937_section51960467216"></a>
123
124创建或获取数据库实例。需要先通过[createKVManager](#zh-cn_topic_0000001179090937_section192192415554)创建或获取KVStore实例。
125
126此方法为异步promise方法。
127
128-   参数:
129
130    <a name="zh-cn_topic_0000001179090937_table1819714611216"></a>
131    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row151971464215"><th class="cellrowborder" valign="top" width="16.31%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p1719718463214"><a name="zh-cn_topic_0000001179090937_p1719718463214"></a><a name="zh-cn_topic_0000001179090937_p1719718463214"></a>参数名</p>
132    </th>
133    <th class="cellrowborder" valign="top" width="16.220000000000002%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p01972461429"><a name="zh-cn_topic_0000001179090937_p01972461429"></a><a name="zh-cn_topic_0000001179090937_p01972461429"></a>类型</p>
134    </th>
135    <th class="cellrowborder" valign="top" width="67.47%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p171977461523"><a name="zh-cn_topic_0000001179090937_p171977461523"></a><a name="zh-cn_topic_0000001179090937_p171977461523"></a>说明</p>
136    </th>
137    </tr>
138    </thead>
139    <tbody><tr id="zh-cn_topic_0000001179090937_row1219818462214"><td class="cellrowborder" valign="top" width="16.31%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p191984461828"><a name="zh-cn_topic_0000001179090937_p191984461828"></a><a name="zh-cn_topic_0000001179090937_p191984461828"></a>storeId</p>
140    </td>
141    <td class="cellrowborder" valign="top" width="16.220000000000002%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p191988464218"><a name="zh-cn_topic_0000001179090937_p191988464218"></a><a name="zh-cn_topic_0000001179090937_p191988464218"></a>string</p>
142    </td>
143    <td class="cellrowborder" valign="top" width="67.47%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p1419834615216"><a name="zh-cn_topic_0000001179090937_p1419834615216"></a><a name="zh-cn_topic_0000001179090937_p1419834615216"></a>用于标识数据库。同一应用下该参数值必须唯一且长度应小于1KB。</p>
144    </td>
145    </tr>
146    <tr id="zh-cn_topic_0000001179090937_row1198746820"><td class="cellrowborder" valign="top" width="16.31%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p51981467220"><a name="zh-cn_topic_0000001179090937_p51981467220"></a><a name="zh-cn_topic_0000001179090937_p51981467220"></a>options</p>
147    </td>
148    <td class="cellrowborder" valign="top" width="16.220000000000002%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1719819464212"><a name="zh-cn_topic_0000001179090937_p1719819464212"></a><a name="zh-cn_topic_0000001179090937_p1719819464212"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section16417114202216">Options</a></p>
149    </td>
150    <td class="cellrowborder" valign="top" width="67.47%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p8198746421"><a name="zh-cn_topic_0000001179090937_p8198746421"></a><a name="zh-cn_topic_0000001179090937_p8198746421"></a>数据库实例的配置信息。</p>
151    </td>
152    </tr>
153    </tbody>
154    </table>
155
156-   返回值:
157
158    <a name="zh-cn_topic_0000001179090937_table0198144610210"></a>
159    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row2199134611213"><th class="cellrowborder" valign="top" width="20.66%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001179090937_p1919916467217"><a name="zh-cn_topic_0000001179090937_p1919916467217"></a><a name="zh-cn_topic_0000001179090937_p1919916467217"></a>参数名</p>
160    </th>
161    <th class="cellrowborder" valign="top" width="79.34%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001179090937_p1119964610216"><a name="zh-cn_topic_0000001179090937_p1119964610216"></a><a name="zh-cn_topic_0000001179090937_p1119964610216"></a>类型</p>
162    </th>
163    </tr>
164    </thead>
165    <tbody><tr id="zh-cn_topic_0000001179090937_row2019914467216"><td class="cellrowborder" valign="top" width="20.66%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001179090937_p191994461026"><a name="zh-cn_topic_0000001179090937_p191994461026"></a><a name="zh-cn_topic_0000001179090937_p191994461026"></a>Promise&lt;T&gt;</p>
166    </td>
167    <td class="cellrowborder" valign="top" width="79.34%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001179090937_p131998462029"><a name="zh-cn_topic_0000001179090937_p131998462029"></a><a name="zh-cn_topic_0000001179090937_p131998462029"></a>promise实例,用于获取异步返回结果。</p>
168    </td>
169    </tr>
170    </tbody>
171    </table>
172
173-   示例:
174
175    ```
176    const promise = kvManager.getKVStore(options);
177            promise.then((store) => {
178                kvStore = store;
179            }).catch((err) => {
180            });
181    ```
182
183
184### getKVStore<T extends KVStore\>\(storeId: string, options: Options, callback: AsyncCallback<T\>\): void<a name="zh-cn_topic_0000001179090937_section06419235582"></a>
185
186创建并获取数据库实例。
187
188此方法为异步callback方法。
189
190-   参数:
191
192    <a name="zh-cn_topic_0000001179090937_table16642172313584"></a>
193    <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row1064292310587"><th class="cellrowborder" valign="top" width="16.29%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p9642172345810"><a name="zh-cn_topic_0000001179090937_p9642172345810"></a><a name="zh-cn_topic_0000001179090937_p9642172345810"></a>参数名</p>
194    </th>
195    <th class="cellrowborder" valign="top" width="18.42%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p1264242365813"><a name="zh-cn_topic_0000001179090937_p1264242365813"></a><a name="zh-cn_topic_0000001179090937_p1264242365813"></a>类型</p>
196    </th>
197    <th class="cellrowborder" valign="top" width="65.29%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p16426231582"><a name="zh-cn_topic_0000001179090937_p16426231582"></a><a name="zh-cn_topic_0000001179090937_p16426231582"></a>说明</p>
198    </th>
199    </tr>
200    </thead>
201    <tbody><tr id="zh-cn_topic_0000001179090937_row196421223165820"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p176426239586"><a name="zh-cn_topic_0000001179090937_p176426239586"></a><a name="zh-cn_topic_0000001179090937_p176426239586"></a>storeId</p>
202    </td>
203    <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p11642192345813"><a name="zh-cn_topic_0000001179090937_p11642192345813"></a><a name="zh-cn_topic_0000001179090937_p11642192345813"></a>string</p>
204    </td>
205    <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p22701218122217"><a name="zh-cn_topic_0000001179090937_p22701218122217"></a><a name="zh-cn_topic_0000001179090937_p22701218122217"></a>用于标识数据库。同一应用下该参数值必须唯一且长度应小于1KB。</p>
206    </td>
207    </tr>
208    <tr id="zh-cn_topic_0000001179090937_row1864252325813"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p1664342385817"><a name="zh-cn_topic_0000001179090937_p1664342385817"></a><a name="zh-cn_topic_0000001179090937_p1664342385817"></a>options</p>
209    </td>
210    <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p46635302565"><a name="zh-cn_topic_0000001179090937_p46635302565"></a><a name="zh-cn_topic_0000001179090937_p46635302565"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section16417114202216">Options</a></p>
211    </td>
212    <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p86431923185818"><a name="zh-cn_topic_0000001179090937_p86431923185818"></a><a name="zh-cn_topic_0000001179090937_p86431923185818"></a>数据库实例的配置信息。</p>
213    </td>
214    </tr>
215    <tr id="zh-cn_topic_0000001179090937_row91703271930"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p9805195012318"><a name="zh-cn_topic_0000001179090937_p9805195012318"></a><a name="zh-cn_topic_0000001179090937_p9805195012318"></a>callback</p>
216    </td>
217    <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1180517508312"><a name="zh-cn_topic_0000001179090937_p1180517508312"></a><a name="zh-cn_topic_0000001179090937_p1180517508312"></a>AsyncCallback&lt;T&gt;</p>
218    </td>
219    <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p580516505314"><a name="zh-cn_topic_0000001179090937_p580516505314"></a><a name="zh-cn_topic_0000001179090937_p580516505314"></a>回调函数,获取数据库实例。</p>
220    </td>
221    </tr>
222    </tbody>
223    </table>
224
225-   返回值:
226
227228
229-   示例:
230
231    ```
232    kvManager.getKVStore('storeId', options, function(err, store){
233    	kvStore = store;
234    });
235    ```
236
237
238