PouchDB和CouchDB 之 PouchDB基本操作(一)

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);
		})

转载于:https://my.oschina.net/3233123/blog/847503

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值