微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BedquiltDB PostgreSQL 扩展

程序名称:BedquiltDB

授权协议: MIT

操作系统: 跨平台

开发语言:

BedquiltDB 介绍

bedquiltDB 是一款开源的Postgresql扩展,专门用于支持jsonb数据类型的存储,并且提供相应的开放API。bedquiltDB
旨在为开发人员提供一种功能强大的工具,在项目的早期阶段,用于处理松散结构化的数据。

优点:

  • 简单开放的API

  • 支持所有编程语言

  • 支持所有sql语句,包括约束

  • 容易从”loose schema” 模式切换到 “well defined schema”而不需要改变数据库平台。

示例代码

Python

import pybedquilt
bq = pybedquilt.bedquiltClient(dbname='bedquilt_test')
projects = bq['projects']

projects.add_constraints({
    'description': {'$required': 1,
                    '$notnull': 1,
                    '$type': 'string'},
    'tags': {'$required': 1,
             '$type': 'array'}
})

projects.insert({
    '_id':   "bedquiltDB",
    'description': "A ghastly hack.",
    'quality': "pre-alpha",
    'tags': ["json", "postgres", "api"]
})

early_projects = projects.find(
    {'quality': 'pre-alpha'})

api_projects = projects.find(
    {'tags': ['api']})

cool_project = projects.find_one_by_id('bedquiltDB')

Node.js

var bedquiltClient = require('bedquilt').bedquiltClient;

bedquiltClient.connect('localhost', function(err, client) {
  var tools = client.collection('tools');
  tools.find({type: 'blunt'}, function(err, results) {
    console.log(results);
  });
});

sql

select bq_insert(
  'orders',
  '{"_id": "2001515",
    "customerId": "117176",
    "items": ["orange_coat", "socks", "plastic_teeth"]}'
);

select bq_find(
  'orders',
  '{"customerId": "220011",
    "items": ["socks"]}'
);

select bq_remove_one(
  'orders',
  '{"_id": "4401515"}'
);

BedquiltDB 官网

http://bedquiltdb.github.io

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐