CouchDB学习笔记

CouchDB似乎用的人不多。大多数类似应用都是用的mongodb。 最近想看看有没有能在浏览器端访问服务器restful接口的库.看到了Pouchdb。(https://pouchdb.com/)

pouchdb是couchdb的浏览器版本。可以和couchdb同步,也可以直接使用couchdb。
仔细看了下。couchdb+pouchdb的组合。
有点相当于

  • loopback (http://loopback.io/)
  • parse (https://parse.com/)
  • leancloud (https://leancloud.cn/)

CouchDB看似相对简单些。
比较文章(https://forum.ionicframework.com/t/what-are-the-differences-between-couchdb-firebase-parse-and-pouchdb/36001/2) 重点在parse的用户管理(重置密码什么的)比较简单。
搜这个比较文章的时候又看到2个东西(Firebase,kinto)
Kinto is a generic JSON document store with
sharing and synchronisation capabilities.
(Python+Postgresql)
https://www.kinto-storage.org/
http://kinto.readthedocs.io/en/latest/overview.html

CouchDB的安全

http://docs.couchdb.org/en/2.0.0/intro/security.html
https://github.com/nolanlawson/pouchdb-authentication
https://www.joshmorony.com/creating-a-multiple-user-app-with-pouchdb-couchdb/

默认情况下,couchdb允许localhost上的任意读写。

admin可以在
http://127.0.0.1:5984/_utils/ 上面建立
也可也这样建立 curl -X PUT $HOST/_config/admins/anna -d '"secret"'
存在etc/local.ini中

普通用户在_user表中
需要先在http://127.0.0.1:5984/_utils/ 上setup。否则默认的_user表不出现

在一个普通表中,用户又分为members和admins
共同点,都能读写表
不同点:admins可以改写design document

默认表中,不是系统管理员的,都是普通用户(包括匿名用户)
要把用户设为管理员,得用服务器管理原设置_security

curl -X PUT http://localhost:5984/mydatabase/_security \
     -u anna:secret \
     -H "Content-Type: application/json" \
     -d '{"admins": { "names": [], "roles": [] }, "members": { "names": ["jan"], "roles": [] } }'

couchDB最麻烦的时更新的时候要有_rev
查询并不很方便
权限设定是基于表的,然而一个表内有多个用户的数据,基于记录的权限设定很必要。

备份dump/restore
https://github.com/raffi-minassian/couchdb-dump

你可能感兴趣的:(CouchDB学习笔记)