我正在尝试 PouchDB 和客户端 Javascript。PouchDB 网站上的示例对我来说非常有用:http ://pouchdb.com/getting-started.html 。我的问题是,当我连接到远程服务器时,有什么方法可以隐藏用户名和密码吗?有问题的代码:
var remoteCouch = 'http://user:pass@mname.iriscouch.com/todos';
Run Code Online (Sandbox Code Playgroud)
这都是客户端 JS 并且可以公开查看。我很难找到解决办法。
我有一个使用AngularJS编写的单页Web应用程序.它使用PouchDB复制到CouchDB服务器并且工作正常.
当我尝试通过添加cache.manifest将网页转换为可脱机时,问题就来了.突然间,所有复制任务都会抛出错误并停止工作,无论是脱机还是在线工作.
在Chrome中它只是说"GET ... myCouchIP/myDB /?_ nonce = CxVFIwnEJeGFcyoJ net :: ERR_FAILED"
在Firefox中它也会抛出错误,但提到请求被阻止 - 尝试启用CORS.
根据PouchDB设置页面的说明,在远程CouchDB上启用CORS.另外,它没有使用cache.manifest工作正常(即它对我的桌面,服务器和VM之间的所有不同的IP地址非常满意 - 它是原型,因此此时没有域名).
顺便说一句,此时我没有使用任何类型的身份验证.管理员方生效.
那么在添加cache.manifest时会发生什么变化?线索感激不尽.提前致谢.
app.js
var app = angular.module('Assets', ['assets.controllers', 'ngRoute']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/', {
controller: 'OverviewCtrl',
templateUrl: 'views/overview.html'
}).
when('/new', {
controller: 'NewMachineCtrl',
templateUrl: 'views/machineForm.html'
}).
otherwise({redirectTo: '/'});
}]);
Run Code Online (Sandbox Code Playgroud)
controller.js
var _control = angular.module('assets.controllers', ['assets.services']);
_control.controller('OverviewCtrl', ['$scope', 'Machine', function($scope, Machine) {
var promise = Machine.getAll();
promise.then(function(machineList) {
$scope.machines = machineList;
}, function(reason) {
alert('Machine list is empty: ' + reason);
}); …Run Code Online (Sandbox Code Playgroud) 我正在将一个新创建的 pouchdb (3.3.1)实时同步到一个已建立的 (iris) couchdb。
初始复制成功发生(暂停事件触发)。
如果我info()在本地执行,我会得到362的 update_seq 。如果我info()在遥控器上这样做,它会显示4201的 update_seq 。
我认为这对我来说很有意义:本地数据库没有修订——只有叶子(即数据库中有 362 个叶子),而远程数据库序列计数器反映了自首次创建以来所做的所有历史更改。
我的问题是:如何以编程方式确定两个数据库之间序列计数器的初始“偏移量”是多少?我特别希望能够衡量初始复制的进度。
我正在构建一个简单的 REST API(使用PouchDB和Vue.js)。现在,我可以创建projects几个字段:
服务器.js:
var express = require('express')
var PouchDB = require('pouchdb')
var app = express()
var db = new PouchDB('vuedb')
app.post('/projects/new', function(req, res) {
var data = {
'type': 'project',
'title': '',
'content': '',
'createdAt': new Date().toJSON()
}
db.post(data).then(function (result) {
// handle result
})
})
Run Code Online (Sandbox Code Playgroud)
客户端.js:
// HTML
<input type="text" class="form-control" v-model="title" placeholder="Enter title">
<input type="text" class="form-control" v-model="content" placeholder="Enter content">
<button class="btn btn-default" v-on:click="submit">Submit</button>
// JS
submit () {
this.$http.post('http://localhost:8080/projects/new').then(response => { …Run Code Online (Sandbox Code Playgroud) 我需要帮助将 PouchDB 与 Couchbase 同步网关同步。
我不断收到指向 CORS 问题的以下错误,但我已经根据他们的文档为 CORS 配置了 Couchbase 同步网关 (CSG)。
XMLHttpRequest cannot load http://localhost:4985/test-database/.
No 'Access-Control-Allow-Origin'header is present on the requested
resource. Origin 'http://localhost:3000' is therefore not
allowed access.
Run Code Online (Sandbox Code Playgroud)
我已经根据 CSG 文档尝试了以下配置文件:
{
"log": ["HTTP+"],
"CORS": {
"origin":["http://localhost:3000"],
"loginOrigin":["http://localhost:3000"],
"headers":["Content-Type"],
"maxAge": 1728000
},
"databases": {
"test-database": {
"server": "walrus:",
"users": { "GUEST": {"disabled": false, "admin_channels": ["*"] } }
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过 Couchbase 博客中的其他配置文件,但它们都不起作用!对此的任何帮助将不胜感激!
我已经阅读了关于这个主题的大约 10 个相关的 stackoverflow 问题,它们都分散在一个类似的问题上......我想围绕一个虚构的“todo”应用程序简化我的问题。我正在学习编码 (javascript),但遇到了障碍。我让我学习的“激情”项目非常复杂,解决了个人旅行问题。我希望有一天我能回报!
这是虚构的应用程序:
这个应用程序将使用 Ionic 2 构建。离线第一个应用程序将让用户登录并创建他们自己的“待办事项”列表。这些应该可以通过他们的手机和桌面访问并同步。用户还应该能够与社区共享他们的待办事项列表,社区可以复制其他人的“待办事项”列表。该应用程序还应该能够查询用户最喜欢做什么,例如“刷牙”或“查看我的蝙蝠侠收藏”。用户还应该能够使用任何社交网络登录(Facebook、Twitter、谷歌等)。
1) 你如何构建 pouchdb/couchdb 数据库?对沙发底座/云台开放。
它是每个用户的数据库吗?是每个角色的数据库吗?它是一个适合所有人的数据库吗(我知道这存在安全问题)?
2) 假设您将每个客户端 pouchdb 数据库合并到一个大型数据库中进行查询是否正确?
3) 你必须使用 NodeJS 后端或服务器吗?
4) 可以使用 Auth0 或 Stormpath 进行身份验证吗?
我已经研究了大约 5 天,但我无法弄清楚。我真的很感谢所有的帮助。
编辑:我认为这很好地解释了除了我认为可以与 Bluemix 一起使用的身份验证之外我还需要什么?
https://cloudant.com/blog/replication-with-cloudant-pt-3/#.V38hxpMrJE6
想法?
我知道 PouchDB 仅适用于 CouchDB 兼容服务器。有没有办法在保持其原始架构的同时使用 SQL Server 作为后端?
我有一个想法如何实现这一点,但我不完全确定它是否可行。任何将导致这一结果的答案将不胜感激。
我认为可以完成的方法是使用 CouchDB 来存储同步元数据,如修订和成功同步所需的所有内容。然后,实际最新数据将按照其原始架构存储在 SQL Server 上。
为了能够做到这一点,我需要使用我的 C# 堆栈创建一个 CouchDB 兼容服务器。这将充当 CouchDB 和 PouchDB 之间的代理,因此我实际上不需要实现所有方法。我将不得不拦截某些方法,这些方法将允许我在服务器上保持 SQL Server 和 CouchDB 同步(遵循业务规则),同时利用 CouchDB 对 SQL Server 数据的同步功能。有了这个,我还可以添加一堆我希望将来使用的中间件。
这东西可行吗?我知道 express-pouchdb 存在,但它只是一个带有 PouchDB 后端的 CouchDB 兼容服务器。我想要的是让 CouchDB 和 SQL Server 一起工作。如果是这样,我应该怎么做?
我有一个服务器端 Web 应用程序,顶部有一个 RESTful Web API,还有一个与之通信的客户端 Web 应用程序。我想在 webapp 中实现离线存储和功能,以防服务器(或互联网)不可用。在客户端实现 PouchDB 并让它与我的restful webservice而不是CouchDB数据库同步是否可行?webservice需要遵守什么标准才能兼容couchdb/pouchdb?如果有更好的方法(如果可以的话,我不希望将后端从 postgresql/python 切换到 couchdb),是否有人对此有任何示例或有关如何以不同方式执行此操作的建议?
我想列出当前已删除的文档,以便能够取消删除一个或多个。
如何在 couchdb 中查询已删除的文档?我实际上正在使用 pouchdb。
尽管此 POST很好地描述了如何查询和取消删除文档,但它需要现有文档的 id。
我正在寻找一种查询所有已删除文档的方法。POST 引用了对所有更改进行查询。该查询返回所有已删除的文档以及已编辑/更改的任何文档。
我只查找已删除的文档。想想在“垃圾箱”中查询文档。:)
我正在努力理解这个错误:Uncaught TypeError: PouchDB is not a constructor
代码如下:
var PouchDB = require("pouchdb");
var db = new PouchDB("scr");
Run Code Online (Sandbox Code Playgroud)
我已经阅读了它如何与类型相关并添加:
"@types/node": "^10.12.0",
"@types/pouchdb": "^6.3.2",
Run Code Online (Sandbox Code Playgroud)
到我的 package.json 应该有帮助,但事实并非如此。我已经在另一个简单的 .js 文件上进行了测试并且可以正常工作,但在我的主应用程序上却不是。不过,我不明白为什么它不起作用。小袋文档非常清楚https://pouchdb.com/api.html#create_document。
我应该提到我在电子应用程序的上下文中运行它,而不是在浏览器中。
我在这一点上感到困惑,任何帮助将不胜感激。干杯!