lightblue数据库的python api。
python-lightblue的Python项目详细描述
这是Lightblue的python库 数据库它可以用作api接口。
用法示例
抽象级别(从低到高):
1)LightBlueEntity和LightBlueService
基本模块,用于查询请求级别上的浅蓝色。
fromlightblue.serviceimportLightBlueServicefromlightblue.entityimportLightBlueEntityservice=LightBlueService('https://data-url.com/data','https://metadata-url.com/metadata')interface=LightBlueEntity(lightblue_service=service,entity_name='foo',version='1.0.0')
2)lightbluequery
类,该类表示对lb in time的查询(未执行和 执行状态)。与LightBlueEntity有关系。
用法示例:
fromlightblue.queryimportLightBlueQueryLightBlueQuery(_id='hash',interface=interface).find()a=LightBlueQuery(('foo','$neq','value'),bar='value2',interface=interface)a._add_to_projection('foo',recursive=['bar'])a._add_to_update(unset='foobar')a.update()LightBlueQuery.insert({'key':'item'},interface)
为什么add_to_projection()是私有的?因为我们还有 抽象化…
3)浅蓝色通用选择
- 继承lightbluequery并使用 后期处理,因此您可以拨打电话:
fromlightblue.selectionimportLightBlueGenericSelectionLightBlueGenericSelection(foo='value',interface=interface).find(check_response=True,selector='/processed/0/bar/',count=(1,2),fallback=None,postprocess=lambdax:x.split('.')[-1])
所以上面的查询将选择具有特定foo值的文档 将检查lb响应的成功查询和响应计数 最小值为1和最大值为2的文档,如果超出范围则返回。它 将从第一个响应项中选择“bar”,并用 提供的lambda。
抽象级别是通用的,因为它不是特定于 实体。