1)什么是PouchDB?
PouchDB是用JavaScript编写的开放源代码”
浏览器”
数据库API。它以CouchDB(为npm提供支持的NoSQL数据库)为模型。通过使用此API, 可以帮助你构建脱机和联机工作的应用程序。 PouchDB在内部使用WebSQL和IndexedDB来存储数据。
欲了解更多信息, 请点击此处
2)PouchDB如何工作?
当应用程序离线时, PouchDB使用WebSQL和IndexedDB在浏览器中本地存储数据。当应用程序重新联机时, 数据将与CouchDB和兼容服务器同步。
PouchDB使你可以无缝地通信本地数据库和远程数据库, 而不会遇到任何差异。
3)PouchDB最重要的功能是什么?
PouchDB最重要的功能如下:
跨浏览器:PouchDB是跨浏览器。 PouchDB提供的API在每种环境下均相同, 因此, PouchDB应用程序可以在各种浏览器中运行。
轻量级:PouchDB是一个非常轻量级的API, 只需使用脚本标签就可以轻松包含它。
易于学习:如果你对任何编程语言都有先验知识, 则PouchDB非常容易学习。
开源:PouchDB是一个开源应用程序, 可在GitHub上获得。
4)哪些浏览器支持PouchDB?
以下是支持PouchDB的主要浏览器:
- Firefox 29+(包括Firefox OS和Firefox for Android)
- 铬30+
- Safari 5+
- Internet Explorer 10+
- 歌剧21+
- Android 4.0以上
- iOS 7.1以上
- Windows Phone 8+
使用PouchDB的优点:
- PouchDB非常快, 因为它位于浏览器中, 你无需通过网络执行查询。这就是为什么它很快。
- 可以同步任何受支持服务器的数据, 这样我们就可以在线和离线运行应用程序。
有几种方法可以在系统上安装PouchDB, 但是使用Node.js和npm是安装PouchDB的最简单有效的方法。
欲了解更多信息, 请点击此处
7)如何在PouchDB中创建数据库?
通过使用构造函数, 可以在PouchDB中轻松创建数据库。
语法
new PouchDB(Database_name)
你必须安装Node.js, 并且需要使用require()方法创建数据库的PouchDB软件包。
例:
//Requiring the packagevar PouchDB = require('PouchDB');
//Creating the database objectvar db = new PouchDB('my_database');
console.log ("Database created Successfully.");
欲了解更多信息, 请点击此处
8)PouchDB中db.info()方法的用途是什么?
db.info()方法用于获取有关数据库的信息。此方法还接受回调函数。
db.info([callback])
请参阅给定的示例, 以使用info()方法从数据库中检索数据。这里的数据库名称是my_database。
例:
//Requiring the packagevar PouchDB = require('PouchDB');
//Creating the database objectvar db = new PouchDB('my_database');
//Database informationdb.info(function(err, info) { if (err) {return console.log(err);
} else {console.log(info);
}});
欲了解更多信息, 请点击此处
9)如何删除在PouchDB中创建的数据库?
db.destroy()方法用于销毁PouchDB中的数据库。
10)如何在Node.js中使用db.destroy()方法删除数据库?
以下是使用db.destroy()方法的语法。它还接受回调函数。
语法
db.destroy()
请参见以下示例, 如何使用db.destroy()方法。
例:
//Requiring the packagevar PouchDB = require('PouchDB');
//Creating the database objectvar db = new PouchDB('my_database');
//deleting databasedb.destroy(function (err, response) { if (err) {return console.log(err);
} else {console.log ("Database Deleted");
}});
欲了解更多信息, 请点击此处
11)如何删除存储在远程服务器CouchDB中的远程数据库?
在PouchDB构造函数中提供远程数据库CouchDB的路径, 以删除存储在远程服务器CouchDB上的数据库。
例如:
//Requiring the packagevar PouchDB = require('pouchdb');
//Creating the database objectvar db = new PouchDB('http://localhost:5984/my_database');
//deleting databasedb.destroy(function (err, response) { if (err) {return console.log(err);
} else {console.log("Database Deleted");
}});
欲了解更多信息, 请点击此处
12)PouchDB中db.put()方法的用途是什么?
db.put()方法用于在PouchDB数据库中创建文档。
语法
db.put(document, callback)
此方法还支持回调函数。
欲了解更多信息, 请点击此处
13)如何在PouchDB数据库中获取创建的文档?
db.get()方法用于检索在PouchDB数据库中创建的文档。此方法接受文档ID和可选的回调函数。
语法
db.get(document, callback)
欲了解更多信息, 请点击此处
14)如何更新PouchDB数据库中的现有文档?
每次创建文档时, 都会生成一个新字段_rev。它称为修订标记。 _rev的值是一个唯一的随机数, 每次我们对文档进行更改时都会更改。
db.put()方法与_rev值一起使用来更新文档。
欲了解更多信息, 请点击此处
15)如何删除PouchDB中的文档?
db.remove()方法用于删除在PouchDB数据库中创建的文档。在此方法中, 将传递id和_rev以删除现有文档, 如以下代码所示。此方法接受可选的回调函数。完整的文档也可以代替id和_rev传递。
语法
db.remove( docId, docRev, [callback] )
欲了解更多信息, 请点击此处
16)什么是批处理?如何在PouchDB中创建批处理?
批处理是PouchDB中的一系列文档。使用此方法创建文档时, 如果未指定_id值, 它将为所有文档批量创建唯一的ID。
你在PouchDB中创建的所有文档都可以存储在数组中, 并且可以在此方法中作为参数传递。此方法还接受回调函数作为参数。
语法
db.bulkDocs(docs, [options], [callback])
要了解如何创建批处理, 请参见以下链接:
欲了解更多信息, 请点击此处
17)如何在PouchDB数据库中提取创建的批处理?
allDocs()方法用于从数据库中获取多个/大量文档。此方法还接受可选的回调函数。
语法
db.allDocs()
欲了解更多信息, 请点击此处
18)如何更新PouchDB数据库中已经创建的批处理?
bulkDocs()方法用于更新PouchDB中的文档数组。要更新批处理的值, 你必须知道_id, _rev和要更新的值。
欲了解更多信息, 请点击此处
19)如何删除PouchDB中的批次?
bulkDocs()方法还用于删除文档数组。要删除批处理, 你必须知道文档的_id和_rev值。
欲了解更多信息, 请点击此处
20)PouchDB中的附件是什么?
在PouchDB中, 附件是可以附加到文档的二进制对象。
21)如何在PouchDB中的文档中添加附件?
putAttachment()方法用于向PouchDB中的文档添加附件。你必须将文档ID, 附件ID, MIME类型以及附件一起传递。此方法还接受可选的回调函数。
语法
db.putAttachment( docId, attachmentId, attachment, type, [callback] );
欲了解更多信息, 请点击此处
22)如何检索添加的PouchDB附件?
getAttachment()方法用于从PouchDB文档中检索附件。此方法始终返回blob或缓冲区对象。你必须传递文档ID和附件ID才能使用此方法。此方法还接受可选的回调函数。
语法
db.getAttachment( docId, attachmentId, [callback] );
欲了解更多信息, 请点击此处
23)如何删除添加的PouchDB附件?
removeAttachment()方法用于从PouchDB文档中删除附件。要使用此方法, 你必须传递文档ID, 附件ID和_rev值。此方法还接受可选的回调函数。
语法
db.removeAttachment ( docId, attachmentId, rev, [callback] );
【PouchDB面试题和答案热门推荐合集】欲了解更多信息, 请点击此处
推荐阅读
- Redis面试题和答案完全解读
- SQL面试(PL/SQL面试问题和答案大全)
- rem在手机移动端app中的兼容适配问题
- springmvc-@RequestMapping
- Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)
- 介绍 brick: 用于快速开发 webapp 的自定义标签组件
- Android Android studio 底部导航栏的基本实现
- Android 给服务器发送网络请求
- Appium---Android的keycode键值