📅  最后修改于: 2020-12-01 08:31:22             🧑  作者: Mango
PouchDB是用JavaScript编写的开放源代码“浏览器”数据库API。它以CouchDB(为npm提供支持的NoSQL数据库)为模型。通过使用此API,可以帮助您构建脱机和联机工作的应用程序。 PouchDB在内部使用WebSQL和IndexedDB来存储数据。
有关更多信息:单击此处
当应用程序离线时,PouchDB使用WebSQL和IndexedDB在浏览器中本地存储数据。当应用程序重新联机时,数据将与CouchDB和兼容服务器同步。
PouchDB使您可以无缝地通信本地数据库和远程数据库,而不会遇到任何差异。
PouchDB最重要的功能如下:
跨浏览器: PouchDB是跨浏览器。 PouchDB提供的API在每种环境下均相同,因此,PouchDB应用程序可以在各种浏览器中运行。
轻量级: PouchDB是一个非常轻量级的API,只需使用脚本标签就可以轻松包含它。
易于学习:如果您对任何编程语言都有先验知识,则PouchDB非常容易学习。
开源: PouchDB是一个开源应用程序,可在GitHub上获得。
以下是支持PouchDB的主要浏览器:
使用PouchDB的优点:
有几种方法可以在系统上安装PouchDB,但是通过使用Node.js和npm是安装PouchDB的最简单有效的方法。
有关更多信息:单击此处
通过使用构造函数,可以在PouchDB中轻松创建数据库。
句法:
new PouchDB(Database_name)
您必须安装Node.js,并且需要使用require()方法创建数据库的PouchDB软件包。
例:
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_database');
console.log ("Database created Successfully.");
有关更多信息:单击此处
db.info()方法用于获取有关数据库的信息。此方法还接受回调函数。
db.info([callback])
请参阅给定的示例,以使用info()方法从数据库中检索数据。这里的数据库名称是my_database。
例:
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_database');
//Database information
db.info(function(err, info) {
if (err) {
return console.log(err);
} else {
console.log(info);
}
});
有关更多信息:单击此处
db.destroy()方法用于销毁PouchDB中的数据库。
以下是使用db.destroy()方法的语法。它还接受回调函数。
句法:
db.destroy()
请参见以下示例,如何使用db.destroy()方法。
例:
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_database');
//deleting database
db.destroy(function (err, response) {
if (err) {
return console.log(err);
} else {
console.log ("Database Deleted");
}
});
有关更多信息:单击此处
在PouchDB构造函数中提供远程数据库CouchDB的路径,以删除存储在远程服务器CouchDB上的数据库。
例如:
//Requiring the package
var PouchDB = require('pouchdb');
//Creating the database object
var db = new PouchDB('http://localhost:5984/my_database');
//deleting database
db.destroy(function (err, response) {
if (err) {
return console.log(err);
} else {
console.log("Database Deleted");
}
});
有关更多信息:单击此处
db.put()方法用于在PouchDB数据库中创建文档。
句法:
db.put(document, callback)
此方法还支持回调函数。
有关更多信息:单击此处
db.get()方法用于检索在PouchDB数据库中创建的文档。此方法接受文档ID和可选的回调函数。
句法:
db.get(document, callback)
有关更多信息:单击此处
每次创建文档时,都会生成一个新字段_rev。它称为修订标记。 _rev的值是唯一的随机数,每次我们对文档进行更改时都会更改。
db.put()方法与_rev值一起使用来更新文档。
有关更多信息:单击此处
db.remove()方法用于删除在PouchDB数据库中创建的文档。在此方法中,将传递id和_rev以删除现有文档,如以下代码所示。此方法接受可选的回调函数。完整的文档也可以代替id和_rev传递。
句法:
db.remove( docId, docRev, [callback] )
有关更多信息:单击此处
批处理是PouchDB中的一系列文档。当您使用此方法创建文档时,如果未指定_id值,它将为所有文档批量创建唯一的ID。
您在PouchDB中创建的所有文档都可以存储在数组中,并且可以在此方法中作为参数传递。此方法还接受回调函数作为参数。
句法:
db.bulkDocs(docs, [options], [callback])
要知道如何创建批处理,请参见以下链接:
有关更多信息:单击此处
allDocs()方法用于从数据库中获取多个/大量文档。此方法还接受可选的回调函数。
句法:
db.allDocs()
有关更多信息:单击此处
bulkDocs()方法用于更新PouchDB中的文档数组。要更新批处理的值,您必须知道_id,_rev和要更新的值。
有关更多信息:单击此处
bulkDocs()方法还用于删除文档数组。要删除批次,您必须知道文档的_id和_rev值。
有关更多信息:单击此处
在PouchDB中,附件是可以附加到文档的二进制对象。
putAttachment()方法用于在PouchDB中向文档添加附件。您必须将文档ID,附件ID,MIME类型以及附件一起传递。此方法还接受可选的回调函数。
句法:
db.putAttachment( docId, attachmentId, attachment, type, [callback] );
有关更多信息:单击此处
getAttachment()方法用于从PouchDB文档中检索附件。此方法始终返回blob或缓冲区对象。您必须传递文档ID和附件ID才能使用此方法。此方法还接受可选的回调函数。
句法:
db.getAttachment( docId, attachmentId, [callback] );
有关更多信息:单击此处
removeAttachment()方法用于从PouchDB文档中删除附件。要使用此方法,您必须传递文档ID,附件ID和_rev值。此方法还接受可选的回调函数。
句法:
db.removeAttachment ( docId, attachmentId, rev, [callback] );
有关更多信息:单击此处