我正在使用 Cordova/PhoneGap 创建适用于 Android 和 iOS 的移动应用程序,并使用 IBM 的 Cloudant 数据库进行存储。我正在使用 PouchDB javascript 库来访问 Cloudant 数据库。目前我有这个代码来访问它......
db = new PouchDB('https://[myaccount].cloudant.com/[mydb]', {
auth: {
username: 'myusername',
password: 'mypassword'
}
});
Run Code Online (Sandbox Code Playgroud)
我知道这是非常不安全的,并且想知道是否有更安全的方法从应用程序内连接到我的数据库?
我需要从 PouchDB 数据库中获取所有文档。谁能告诉我如何从回调函数中获取“文档”?我想将它作为响应对象返回,并在控制台输出中获取它。
var db = new pouchdb('meetups');
db.allDocs({
include_docs: true,
attachments: true
}).then(function (err,res) {
console.log("Result..."+res);
res.json({'users':res});
}).catch(function (err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud) 我想将 Angular 2/Typescript 与 PouchDb 和 PouchDb-Find 与使用 Angular-cli(现在基于 webpack)生成的项目一起使用。PouchDb 通过一个简单的导入语句连接。
import * as PouchDB from 'pouchdb'
var commonDb = new PouchDB(this.commonDbUrl) ;
console.log("commonDb",commonDb) ;
// .getIndexes() is from pouchDb.find. I don't know what the import for it is
commonDb.getIndexes().then(function (result) {
console.log("GetIndexes.Success",result) ;
}).catch(function (err) {
console.log("GetIndexes.Failed",err) ;
});
Run Code Online (Sandbox Code Playgroud)
新的 PouchDb 有效,而 commonDb.getIndexes 无效。我尝试了很多变体import * as pouchfind from 'pouchdb-find'都无济于事。
如何导入 PouchDb-Find 模块?
我有一个 ionic 项目,正在ionic serve -lab我的笔记本电脑上通过 Firefox 进行测试。
该项目使用 PouchDB 作为本地数据库。为了测试我的应用程序,我需要清除数据库,但清除 Firefox 中的所有私人数据不会执行此操作。
如果我知道 PouchDB 存储数据的位置,也许我可以删除相应的文件?
是否可以使用 mango 查询找到那些在数组字段中提供字符串的文档?
说,
const doc = {
_id: 'testdoc',
tags: ['pouch', 'couch', 'mysql'],
}
$db.find({ selector: {
tags: {
$has: 'pouch' // what goes here?
}
}})
Run Code Online (Sandbox Code Playgroud) 我有一个使用 create-react-app 创建的 React 应用程序。所以使用与 create-react-app 捆绑的 webpack。我必须使用 Pouchdb 的 find(),我无法做到。其他 Pouch 功能工作正常,但find插件没有附加到 Pouch。
import PouchDB from 'pouchdb';
PouchDB.plugin(require('pouchdb-find'));
Run Code Online (Sandbox Code Playgroud)
package.json 中的版本:
"pouchdb": "^6.4.1",
"pouchdb-browser": "^6.4.1",
"pouchdb-find": "^6.4.1"
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决这个问题。提前致谢。
如何将 PouchDB 添加到 Angular 5 或 6 项目?我正在使用 Angular 6,但找不到任何方法来做到这一点。
我希望能够在我的文档中搜索其中没有该项目的每个项目hidden,或者如果有该项目,则仅在它不等于 时才获取它true。这可能吗?
我有以下选择,但遇到了错误的查询错误。
selector: {
hidden: {$in: [null, false]}
}
Run Code Online (Sandbox Code Playgroud)
例如:
我想要退回这些
{_id: "1", hidden: false, name: "John" }
{_id: "2", name: "Jim" }
Run Code Online (Sandbox Code Playgroud)
这个不予退货
{_id: "3", hidden: true, name: "James" }
Run Code Online (Sandbox Code Playgroud) 我使用pouchDB与IndexedDB在Chrome浏览器适配器和我要计算每个IndexedDB的数据库大小。我使用https://github.com/jonnysmith1981/getIndexedDbSize/blob/master/getIndexedDbSize.js 中的代码进行计算。
我发现数据库的总大小远远大于 webkit 临时存储的使用量。
下面的屏幕截图是我的应用程序使用的总存储空间 (255MB)。
你会看到有 5 个数据库保存在IndexedDB. 下面输出的是每个数据库大小的计算结果。您将看到总大小约为 389MB。我想知道为什么它们完全不同。哪一个是正确的?
--------- _pouch_products -------------
VM1633:51 - attach-seq-store : 0 B
VM1633:51 - attach-store : 0 B
VM1633:51 - by-sequence : 86.7 MB
VM1633:51 - detect-blob-support : 2 B
VM1633:51 - document-store : 92.3 MB
VM1633:51 - local-store : 6.1 KB
VM1633:51 - meta-store : 96 B
VM1633:57 TOTAL: 179.0 MB
--------- _pouch_transactions -------------
VM1633:51 - attach-seq-store : 0 B
VM1633:51 - …Run Code Online (Sandbox Code Playgroud) 我有一个本地 RxDB 数据库,我想将它与 CouchDB 连接。除了身份验证之外,一切似乎都工作正常。我不知道如何以不同的方式添加它,然后在数据库网址中插入凭据:
database.tasks.sync({
remote: `http://${username}:${pass}@127.0.0.1:5984/tododb`,
});
Run Code Online (Sandbox Code Playgroud)
我想使用 JWT 身份验证,但找不到如何添加令牌来同步请求。我只找到了一些 PouchDB(pouchdb 身份验证插件)的解决方案,但无法使其与 RxDB 一起使用。