1# 单版本分布式数据库<a name="ZH-CN_TOPIC_0000001209252187"></a> 2 3> **说明:** 4>从 API Version 7 开始支持。 5 6## 导入模块<a name="zh-cn_topic_0000001129947446_s56d19203690d4782bfc74069abb6bd71"></a> 7 8``` 9import factory from '@ohos.data.distributeddata'; 10``` 11 12## 权限<a name="zh-cn_topic_0000001129947446_section11257113618419"></a> 13 14无 15 16## SingleKVStore<a name="zh-cn_topic_0000001129947446_section12882825611"></a> 17 18单版本分布式数据库,继承自分布式数据库,支持查询、同步数据,也具备分布式数据库的所有的接口能力。需要先通过[getKVStore](js-apis-data-kvmanager.md#zh-cn_topic_0000001179090937_section51960467216)获取实例。 19 20### get\(key: string, callback: AsyncCallback<Uint8Array | string | boolean | number\>\): void<a name="zh-cn_topic_0000001129947446_section2013623011386"></a> 21 22获取指定键的值。 23 24此方法为异步callback方法。 25 26- 参数: 27 28 <a name="zh-cn_topic_0000001129947446_table1913714301387"></a> 29 <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row20137730143813"><th class="cellrowborder" valign="top" width="19.541954195419542%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001129947446_p14137153017383"><a name="zh-cn_topic_0000001129947446_p14137153017383"></a><a name="zh-cn_topic_0000001129947446_p14137153017383"></a>参数名</p> 30 </th> 31 <th class="cellrowborder" valign="top" width="29.14291429142914%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001129947446_p11137113011389"><a name="zh-cn_topic_0000001129947446_p11137113011389"></a><a name="zh-cn_topic_0000001129947446_p11137113011389"></a>类型</p> 32 </th> 33 <th class="cellrowborder" valign="top" width="51.315131513151314%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001129947446_p9137143011385"><a name="zh-cn_topic_0000001129947446_p9137143011385"></a><a name="zh-cn_topic_0000001129947446_p9137143011385"></a>说明</p> 34 </th> 35 </tr> 36 </thead> 37 <tbody><tr id="zh-cn_topic_0000001129947446_row15137173014380"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p15137330173815"><a name="zh-cn_topic_0000001129947446_p15137330173815"></a><a name="zh-cn_topic_0000001129947446_p15137330173815"></a>key</p> 38 </td> 39 <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1713863017383"><a name="zh-cn_topic_0000001129947446_p1713863017383"></a><a name="zh-cn_topic_0000001129947446_p1713863017383"></a>string</p> 40 </td> 41 <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p513843019386"><a name="zh-cn_topic_0000001129947446_p513843019386"></a><a name="zh-cn_topic_0000001129947446_p513843019386"></a>要查询数据的key。不能为空且长度不大于1KB</p> 42 </td> 43 </tr> 44 <tr id="zh-cn_topic_0000001129947446_row111381630143817"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p51381130173814"><a name="zh-cn_topic_0000001129947446_p51381130173814"></a><a name="zh-cn_topic_0000001129947446_p51381130173814"></a>callback</p> 45 </td> 46 <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1013823015387"><a name="zh-cn_topic_0000001129947446_p1013823015387"></a><a name="zh-cn_topic_0000001129947446_p1013823015387"></a>AsyncCallback<Uint8Array | string | boolean | number></p> 47 </td> 48 <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p813819305384"><a name="zh-cn_topic_0000001129947446_p813819305384"></a><a name="zh-cn_topic_0000001129947446_p813819305384"></a>回调函数,获取查询的值。</p> 49 </td> 50 </tr> 51 </tbody> 52 </table> 53 54- 返回值: 55 56 无 57 58- 示例: 59 60 ``` 61 kvStore.get('key-001', function(err, value){ 62 console.info(value); 63 }); 64 ``` 65 66 67### get\(key: string\): Promise<Uint8Array | string | boolean | number\><a name="zh-cn_topic_0000001129947446_section5647141894316"></a> 68 69获取指定键的值。 70 71此方法为异步promise方法。 72 73- 参数: 74 75 <a name="zh-cn_topic_0000001129947446_table4647818164315"></a> 76 <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row16481918184315"><th class="cellrowborder" valign="top" width="19.541954195419542%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001129947446_p186481918104313"><a name="zh-cn_topic_0000001129947446_p186481918104313"></a><a name="zh-cn_topic_0000001129947446_p186481918104313"></a>参数名</p> 77 </th> 78 <th class="cellrowborder" valign="top" width="29.14291429142914%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001129947446_p264851804315"><a name="zh-cn_topic_0000001129947446_p264851804315"></a><a name="zh-cn_topic_0000001129947446_p264851804315"></a>类型</p> 79 </th> 80 <th class="cellrowborder" valign="top" width="51.315131513151314%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001129947446_p206486189432"><a name="zh-cn_topic_0000001129947446_p206486189432"></a><a name="zh-cn_topic_0000001129947446_p206486189432"></a>说明</p> 81 </th> 82 </tr> 83 </thead> 84 <tbody><tr id="zh-cn_topic_0000001129947446_row136493184436"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p164931854319"><a name="zh-cn_topic_0000001129947446_p164931854319"></a><a name="zh-cn_topic_0000001129947446_p164931854319"></a>key</p> 85 </td> 86 <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1064991854311"><a name="zh-cn_topic_0000001129947446_p1064991854311"></a><a name="zh-cn_topic_0000001129947446_p1064991854311"></a>string</p> 87 </td> 88 <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p15650141834319"><a name="zh-cn_topic_0000001129947446_p15650141834319"></a><a name="zh-cn_topic_0000001129947446_p15650141834319"></a>要查询数据的key。不能为空且长度不大于1KB</p> 89 </td> 90 </tr> 91 </tbody> 92 </table> 93 94- 返回值: 95 96 <a name="zh-cn_topic_0000001129947446_table20650161884312"></a> 97 <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row11650121820433"><th class="cellrowborder" valign="top" width="39.94%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001129947446_p4650181884318"><a name="zh-cn_topic_0000001129947446_p4650181884318"></a><a name="zh-cn_topic_0000001129947446_p4650181884318"></a>类型</p> 98 </th> 99 <th class="cellrowborder" valign="top" width="60.06%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001129947446_p96501118194314"><a name="zh-cn_topic_0000001129947446_p96501118194314"></a><a name="zh-cn_topic_0000001129947446_p96501118194314"></a>说明</p> 100 </th> 101 </tr> 102 </thead> 103 <tbody><tr id="zh-cn_topic_0000001129947446_row2065071884319"><td class="cellrowborder" valign="top" width="39.94%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001129947446_p1065131812433"><a name="zh-cn_topic_0000001129947446_p1065131812433"></a><a name="zh-cn_topic_0000001129947446_p1065131812433"></a>Promise<Uint8Array | string | boolean | number></p> 104 </td> 105 <td class="cellrowborder" valign="top" width="60.06%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001129947446_p2065191813435"><a name="zh-cn_topic_0000001129947446_p2065191813435"></a><a name="zh-cn_topic_0000001129947446_p2065191813435"></a>promise实例,用于获取异步返回结果。</p> 106 </td> 107 </tr> 108 </tbody> 109 </table> 110 111- 示例: 112 113 ``` 114 const promise = kvStore.get('key-001'); 115 promise.then((data) => { 116 console.info(value); 117 }).catch((err) => { 118 }); 119 ``` 120 121 122### sync\(deviceIdList: string\[\], mode: SyncMode, allowedDelayMs?: number\): void<a name="zh-cn_topic_0000001129947446_section06419235582"></a> 123 124在手动模式下,触发数据库同步。 125 126此方法为同步方法。 127 128- 参数: 129 130 <a name="zh-cn_topic_0000001129947446_table16642172313584"></a> 131 <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row1064292310587"><th class="cellrowborder" valign="top" width="17.91%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001129947446_p9642172345810"><a name="zh-cn_topic_0000001129947446_p9642172345810"></a><a name="zh-cn_topic_0000001129947446_p9642172345810"></a>参数名</p> 132 </th> 133 <th class="cellrowborder" valign="top" width="19.009999999999998%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001129947446_p1264242365813"><a name="zh-cn_topic_0000001129947446_p1264242365813"></a><a name="zh-cn_topic_0000001129947446_p1264242365813"></a>类型</p> 134 </th> 135 <th class="cellrowborder" valign="top" width="24.169999999999998%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001129947446_p46421923185813"><a name="zh-cn_topic_0000001129947446_p46421923185813"></a><a name="zh-cn_topic_0000001129947446_p46421923185813"></a>必填</p> 136 </th> 137 <th class="cellrowborder" valign="top" width="38.91%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001129947446_p16426231582"><a name="zh-cn_topic_0000001129947446_p16426231582"></a><a name="zh-cn_topic_0000001129947446_p16426231582"></a>说明</p> 138 </th> 139 </tr> 140 </thead> 141 <tbody><tr id="zh-cn_topic_0000001129947446_row196421223165820"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p176426239586"><a name="zh-cn_topic_0000001129947446_p176426239586"></a><a name="zh-cn_topic_0000001129947446_p176426239586"></a>deviceIdList</p> 142 </td> 143 <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p11642192345813"><a name="zh-cn_topic_0000001129947446_p11642192345813"></a><a name="zh-cn_topic_0000001129947446_p11642192345813"></a>string[]</p> 144 </td> 145 <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p196428238584"><a name="zh-cn_topic_0000001129947446_p196428238584"></a><a name="zh-cn_topic_0000001129947446_p196428238584"></a>是</p> 146 </td> 147 <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p564282316586"><a name="zh-cn_topic_0000001129947446_p564282316586"></a><a name="zh-cn_topic_0000001129947446_p564282316586"></a>同一组网环境下,需要同步的设备networkid列表。</p> 148 </td> 149 </tr> 150 <tr id="zh-cn_topic_0000001129947446_row15290171774817"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p52919178483"><a name="zh-cn_topic_0000001129947446_p52919178483"></a><a name="zh-cn_topic_0000001129947446_p52919178483"></a>mode</p> 151 </td> 152 <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p0291617134819"><a name="zh-cn_topic_0000001129947446_p0291617134819"></a><a name="zh-cn_topic_0000001129947446_p0291617134819"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section53541759205119">SyncMode</a></p> 153 </td> 154 <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p1829171719482"><a name="zh-cn_topic_0000001129947446_p1829171719482"></a><a name="zh-cn_topic_0000001129947446_p1829171719482"></a>是</p> 155 </td> 156 <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p219412514334"><a name="zh-cn_topic_0000001129947446_p219412514334"></a><a name="zh-cn_topic_0000001129947446_p219412514334"></a>同步类型。</p> 157 <p id="zh-cn_topic_0000001129947446_p72914177486"><a name="zh-cn_topic_0000001129947446_p72914177486"></a><a name="zh-cn_topic_0000001129947446_p72914177486"></a>0:PUSH_ONLY, 1: PULL_ONLY, 2: PUSH_PULL</p> 158 </td> 159 </tr> 160 <tr id="zh-cn_topic_0000001129947446_row7797191217527"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p11797512195211"><a name="zh-cn_topic_0000001129947446_p11797512195211"></a><a name="zh-cn_topic_0000001129947446_p11797512195211"></a>allowedDelayMs</p> 161 </td> 162 <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p15797181210529"><a name="zh-cn_topic_0000001129947446_p15797181210529"></a><a name="zh-cn_topic_0000001129947446_p15797181210529"></a>number</p> 163 </td> 164 <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p10797712145215"><a name="zh-cn_topic_0000001129947446_p10797712145215"></a><a name="zh-cn_topic_0000001129947446_p10797712145215"></a>否</p> 165 </td> 166 <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p20797912145218"><a name="zh-cn_topic_0000001129947446_p20797912145218"></a><a name="zh-cn_topic_0000001129947446_p20797912145218"></a>可选参数。允许延时时间,单位毫秒。</p> 167 </td> 168 </tr> 169 </tbody> 170 </table> 171 172- 返回值: 173 174 无 175 176- 示例: 177 178 ``` 179 kvStore.sync(deviceIds, 1, 1000); 180 ``` 181 182 183