我的本地PouchDB文档不会复制到我的远程CouchDB。
正在进行同步,因为浏览器下载了我的设计架构,因此它不是权限问题。我认为我的设计架构与我的文档不匹配,但我很难找到编写架构的正确方法。
模式
{
"_id": "_design/schema",
"_rev": "4-3d9a49ebffbbd6b7b146240879baa7e4",
"validate_doc_update": "function(newDoc, oldDoc, userCtx, secObj){ if(userCtx.roles[0] !== 'admin'){throw({forbidden: 'operation forbidden'})} }",
"views": {
"by_module": {
"map": "function(doc){ if(doc.type == 'note'){emit(doc.note);} }"
}
},
"schema": {
"title": "Contact details",
"description": "A document containing a person's contact details.",
"type": "object",
"required": [
"name",
"level"
],
"properties": {
"_id": {
"type": "string"
},
"_rev": {
"type": "string"
},
"application_access": {
"type": "string"
},
"home": {
"type": "string"
},
"home_email": {
"type": "string"
},
"jobtitle": {
"type": "string"
},
"level": {
"type": "string"
},
"mobile1": {
"type": "string"
},
"mobile2": {
"type": "string"
},
"modified": {
"type": "number"
},
"name": {
"type": "string"
},
"work": {
"type": "string"
},
"work_email": {
"type": "string"
},
"_doc_id_rev": {
"type": "string"
}
}
}
}
文档
{
"_id": "fcb52b3072e2038647b328c0a700147f",
"_rev": "1518449239461",
"application_access": "User",
"home": "",
"home_email": "",
"jobtitle": "Exemplar",
"level": "Bronze",
"mobile1": "0987654321",
"mobile2": "",
"modified": 1518449239461,
"name": "Zachary Zumbeispiel",
"work": "",
"work_email": "",
"_doc_id_rev": "1518449239460::1-ffd3c056614845ada4a68de4793710ac"
}
所以问题是,我的doc是否符合我的架构?或者我的架构错了吗?
“架构”在CouchDB实例上,文档在PouchDB中。
答案 0 :(得分:0)
他们现在正在复制,因为我删除了“文档架构”,因此它可以同步和复制。
所以问题是我读过一些我需要向CouchDB添加模式的地方,所以我创建了我认为是模式的模型,显然要同步的文档的结构必须相同,所以同步不起作用,因为文档的结构不匹配。
因此@Flimzy解释说模式的整个概念都是线轴意味着我删除了“模式”,瞧,PouchDB和CouchDB现在可以同步 - 并解决了问题。