在联系人管理应用程序中,每个用户都有自己的数据库。当用户希望与其他人共享某些类别的联系人时,后端将启动复制。每个联系人都是自己的文档,但也有各种子文档,例如便笺和约会。
这是一个例子......
接触:
{
"_id": 123,
"type": "contact",
"owner": "jimmy",
"category": "customer",
"name": "Bob Jones",
"email": "bob@example.com"
}
笔记:
{
"_id": 456,
"type": "note",
"owner": "jimmy",
"contact_id": 123,
"timestamp": 1383919278,
"content": "This is a note about Bob Jones"
}
因此,假设 Jimmy 想与销售经理 Kevin 分享他唯一的客户,而他的个人联系人保持私密。当笔记通过复制过滤器时,是否可以访问链接联系人的类别字段?
或者我是否必须在联系人的每个子项中复制类别字段?我宁愿不必这样做,因为每个联系人可能有很多孩子,每次类别更改时我都必须手动更新。
下面是过滤函数的一些伪代码:
function(doc, req)
{
if(doc.type == “contact”) {
if(doc.category == req.query.category) {
return true;
}
}
else if(doc.contact_id) {
if(doc.contact.category == req.query.category) {
return true;
}
}
return false;
}
如果这是可能的,请描述如何做到这一点。谢谢!