pouchdb 不会将所有文档同步到 couchdb
pouchdb doesn't sync all doc to couchdb
我在网站上使用 pouchdb
,在服务器端使用 couchdb
。我在 pouchdb
中使用以下代码同步到 couchdb
:
db.replicate.to(remoteDb ...
由于某些原因,其中一个文档未同步到 couchdb
,但所有其他文档都已成功同步。我可以在 pouchdb
上看到丢失的文档,但我无法在 coudhdb
上找到它。我已尝试多次同步,但 none 次成功。该问题仅发生在其中一个文档上。如何查看同步此文档的错误?关于同步失败的日志在哪里?
如果我没有正确理解该功能,当从服务器复制时,服务器端过滤器必须允许您的数据通过。将复制到服务器时,客户端过滤器必须允许您的数据通过。
在你的情况下,你需要测试你的假设,即数据确实可以通过你的客户端过滤器。
假设我有一个这样的过滤器...
{
"_id": "_design/post_processing",
"_rev": "1-47235d8ded76c0ec3c3c49e5aae71f6f",
"filters": {
"by_request": "function(doc, req) { doc.data && doc.data.type && doc.data.type == 'Request' }"
}
}
我的记录显然会通过,因为它们的数据类型为 'request',对吗?
为了检查这一点,我在启动复制器之前直接在代码中测试了我的假设。
const doc = {
"_id": "Person_1_0000000000000339",
"_rev": "2-86e5ce7d8b5b58dacd2fad68bcc02658",
"data": {
"pk": 339,
"type": "request",
"handler": "PersonUpdate"
"mobile": "099-555-7685",
"distributor": true,
"email": "bill.gates@amazon.com",
}
};
console.log('=========== HEY! Look here. Here I am! ================');
console.log(doc.data && doc.data.type && doc.data.type == 'Request');
db.replicate.to(remoteDb ...
哦废话。这是假的。我想知道为什么。
我在网站上使用 pouchdb
,在服务器端使用 couchdb
。我在 pouchdb
中使用以下代码同步到 couchdb
:
db.replicate.to(remoteDb ...
由于某些原因,其中一个文档未同步到 couchdb
,但所有其他文档都已成功同步。我可以在 pouchdb
上看到丢失的文档,但我无法在 coudhdb
上找到它。我已尝试多次同步,但 none 次成功。该问题仅发生在其中一个文档上。如何查看同步此文档的错误?关于同步失败的日志在哪里?
如果我没有正确理解该功能,当从服务器复制时,服务器端过滤器必须允许您的数据通过。将复制到服务器时,客户端过滤器必须允许您的数据通过。
在你的情况下,你需要测试你的假设,即数据确实可以通过你的客户端过滤器。
假设我有一个这样的过滤器...
{
"_id": "_design/post_processing",
"_rev": "1-47235d8ded76c0ec3c3c49e5aae71f6f",
"filters": {
"by_request": "function(doc, req) { doc.data && doc.data.type && doc.data.type == 'Request' }"
}
}
我的记录显然会通过,因为它们的数据类型为 'request',对吗?
为了检查这一点,我在启动复制器之前直接在代码中测试了我的假设。
const doc = {
"_id": "Person_1_0000000000000339",
"_rev": "2-86e5ce7d8b5b58dacd2fad68bcc02658",
"data": {
"pk": 339,
"type": "request",
"handler": "PersonUpdate"
"mobile": "099-555-7685",
"distributor": true,
"email": "bill.gates@amazon.com",
}
};
console.log('=========== HEY! Look here. Here I am! ================');
console.log(doc.data && doc.data.type && doc.data.type == 'Request');
db.replicate.to(remoteDb ...
哦废话。这是假的。我想知道为什么。