PouchDB:JavaScript同步数据库

简介

PouchDB是受 Apache CouchDB启发为Web设计的一款占用空间少的数据库。PouchDB项目的目标是帮助开发者构建线上和线下都能很好地使用的Web应用程序,在应用程序离线的时候,可以将用户数据保存在本地,当恢复在线状态时,通过CouchDB和其他相兼容的服务器来同步这些数据。

PouchDB实际是一个JavaScript库,压缩格式下大小为131KB。目前它能做的基础任务有:数据库的创建、查询、复制与删除;文档(集)的创建、获取、更新及删除;查询数据库信息并监听数据库变化。

主要特点:

  • 轻量级,压缩后只有25KB
  • 跨浏览器,支持Firefox 12+,Chrome 19+,Opera 12+,Safari 5+,Internet Explorer 10+
  • 支持 Node.js
  • 支持Apache Cordova

使用 PouchDB

官微文档在这里:Documentation ,还有 API 文档,你可以参照着学习。

var db = new PouchDB(‘dbname‘);

db.put({
 _id: ‘[email protected]‘,
 name: ‘David‘,
 age: 66
});

db.changes().on(‘change‘, function() {
  console.log(‘Ch-Ch-Changes‘);
});

db.replicate.to(‘http://example.com/mydb‘);

  

官网:http://pouchdb.com/

github网址:https://github.com/pouchdb/pouchdb

时间: 2024-10-24 00:41:48

PouchDB:JavaScript同步数据库的相关文章

如何实现 javascript “同步”调用 app 代码

在 App 混合开发中,app 层向 js 层提供接口有两种方式,一种是同步接口,一种一异步接口(不清楚什么是同步的请看这里的讨论).为了保证 web 流畅,大部分时候,我们应该使用异步接口,但是某些情况下,我们可能更需要同步接口.同步接口的好处在于,首先 js 可以通过返回值得到执行结果:其次,在混合式开发中,app 层导出的某些 api 按照语义就应该是同步的,否则会很奇怪——一个可能在 for 循环中使用的,执行非常快的接口,比如读写某个配置项,设计成异步会很奇怪. 那么如何向 js 层导

项目管理实践【六】自动同步数据库【Using Visual Studio with Source Control System to synchronize database automatically】

在上一篇项目管理实践[五]自动编译和发布网站中,我们讲解了如何使用MSBuild+Robocopy+WebDeployment来自动编译和部署网站,今天,我们来看一下,如何使用MSBuild +SVN来自动同步数据库. 首先,将我们项目中的数据库文件和数据库日志文件放到某个目录下,这里放到StartKitDB目录下,然后在该目录下新建一个名为StartKitDB的文本文件,修改扩展名为proj,实际上,在理论上任何扩展名都可以,然后,使用记事本或其他程序打开文件,将下面的内容复制到其中,保存.

Linux上搭建Elasticsearch服务器并同步数据库

1.准备工作    下载Elasticsearch版本号2.3.4 https://www.elastic.co/downloads/past-releases/elasticsearch-2-3-4 , 下载同步数据库所需要的包  https://codeload.github.com/jprante/elasticsearch-jdbc/tar.gz/2.3.4.0 , 下载ik中文分词 https://github.com/medcl/elasticsearch-analysis-ik/r

django 修改字段后,同步数据库,失败:django.db.utils.InternalError: (1054, "Unknown column 'api_config.project_id_id' in 'field list'")

问题原因是,修改字段后,同步失败了,然后执行查询的时候,就会提示这个错误,这个字段没有 最暴力的方法可以直接在数据库中修改字段,但是修改后,models没同步,可能会存在问题,因此开始我的百度之旅(这个问题网上资料还真的挺少的) 方法一,不要犹豫,重启大法,关闭项目,关闭开发工具,从新打开,这个方法好像不行 方法二,删除大法,因为django有models在,数据库建表还是很容易的,只不过是数据丢失了,对我我这种不正经的开发来说,无关紧要咯 所以,我删除了库,删除了django生成的migrat

部署(2.同步数据库)

1.在云服务器上安装Mysql数据库 1.mysql5.7安装 sudo -i #切换为root用户 #安装mysql5.7 apt-get install mysql-server y apt-get install mysql-client apt-get install libmysqlclient-dev y #设置myql密码 mysql show databases; use mysql; update user set authentication_string=PASSWORD(

SQL SERVER 2012 使用订阅发布同步数据库

软件做大了,客户就多了,一个数据库服务器是远远不够的,当有一台数据服务器卦掉,那整个系统就会崩溃,所以必须考虑到数据库的自动同步与备份,当一台数据库服务 器宕机,自然就有用一台数据服务器启动起来保证整个软件系统的可用性.备份数据库与总数据库之间既统一又独立.这就是业务,技术服务于业务,那么摆在我们面前的问题是 如何让数据既统一又独立?其实SQLServer已经为我们提供了很好的解决方案:发布.订阅. 打开SQL Server2012的对象资源管理器我们可以看到里面有一个"复制"节点.(

使用 RMAN 同步数据库

一.概述 二 操作步骤 (一).把生产库置为归档模式 (二).启动rman做数据库0级备份 (三).修改生产库数据库到未归档 (四).拷贝备份集到测试库 (五).在测试库上的操作 一.概述 因项目组遇到要2台数据库同步的问题,决定使用rman来实现此功能,生产库运行在非归档模式,所以操作起来相对麻烦些,生产库最多允许丢失半天数据,晚上可以重启数据,这样就为我们使用rman创造了必要条件,先来理清一下操作步骤: 1. 首先shutdown生产库(node1) ,并修改成归档模式. 2. 使用rma

javascript同步和异步的区别与实现方式

题外话: “我最不喜欢的编程语言”排行榜第一名除了javascript别无他选 可惜的是在mobi项目的三个月除了javascript和SP就没写过其他什么.. 所以,迎难而上,该解决的一定要解决了 ------------------------------------------------------------------------------------------------------------------- javascript语言是单线程机制.所谓单线程就是按次序执行,执行

[转载]Javascript 同步异步加载详解

http://handyxuefeng.blog.163.com/blog/static/4545217220131125022640/ 本文总结一下浏览器在 javascript 的加载方式. 关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性, defer 属性 一.同步加载与异步加载的形式 1. 同步加载 我们平时最常使用的就是这种同步加载形式: <script src="http://yo