PouchDB是什么?
PouchDB是CouchDB的JavaScript实现。当运行在浏览器或者node.js中时,它的目标就是近乎完美的模仿CouchDB API。
安装PouchDB
1. 直接下载PouchDB js文件,引入:
<script src="path/to/pouchdb-6.1.2.min.js"></script>
2. Bower方式:
bower install pouchdb
<script src="bower_components/pouchdb/dist/pouchdb.min.js"></script>
3. npm方式:
npm install pouchdb
<script src="node_modules/pouchdb/dist/pouchdb.min.js"></script>
备注 : 推荐用包管理工具安装
PouchDB数据库操作
1. 新建目录,用于后续PouchDB相关操作:
mkdir ~/pouchdb
2. 新建index.html文件,引入PouchDB的js文件
3. 用python搭建一个简单的web站点服务:
# python 2
python -m SimpleHTTPServer 9001
# python 3
python -m http.server 9001
如果你有PHP5.4+版本,也可以使用php -S配置简单的服务站点:
php -S 127.0.0.1:9001
4. 在浏览器地址栏输入127.0.0.1:9001,调出开发者工具,打开控制台(console)
# 创建一个名为demo的数据库,输入:
var db = new PouchDB('demo')
# 看是否创建成功,输入 :
db
# 成功列出db实例的相关信息
Oe {__opts: Object, auto_compaction: undefined, prefix: "_pouch_", name: "demo", _adapter: "idb"…}
5. 数据操作:
A. 新增一条数据:
# _id 是必须的
var demo1 = {name : "Jack", age : 20, _id : "PersonOne"}
# 新增数据到PouchDB
db.put(demo1).then(function(result) {
# 放入数据后,紧接着的操作
console.log(result)
}).catch(function(err) {
# 出现异常过后的处理
console.log(err)
})
# 查看新增的数据
db.get('PersonOne').then(function(doc) {
console.log(doc);
}).catch(function(err) {
console.log(err);
})
# 当然也可以用bulkDocs()新增多条数据
B. 删除一条数据:
db.get('PersonOne').then(function(doc) {
db.remove(doc);
}).then(function(result) {
console.log(result);
}).catch(function(err) {
console.log(err);
})
# 删除一条数据不是正常的删除,在加入了_deleted并赋值为true,所以也可以通过用更新的方式将这个属性放入数据中
C. 更新一条数据:
db.get('PersonOne').then(function(doc) {
return db.put({
_id : 'PersonOne',
_rev : doc._rev,
name : "Jackson",
age : doc.age
})
}).then(function(result) {
console.log(result);
}).catch(function(err) {
console.log(err);
})
# 更新的时候 _rev 是必须的, 否则被抛出Document update conflict
E. 销毁demo数据库
db.destroy().then(function(result) {
console.log(result);
}).catch(function(err) {
console.log(err);
})