在一个联系人管理应用中,每个用户都会有自己的数据库。当用户希望与他人分享特定类别的联系人时,后端将启动复制过程。每个联系人是其自身的文档,但也有各种子文档,例如笔记和约会。
以下是一个例子...
联系人:
注意:
让我们假设Jimmy想与销售经理Kevin分享他的客户,而他的个人联系人保持私密。当注释通过复制筛选器时,是否可以访问链接联系人的类别字段? 或者我必须在每个联系人的每个子项中都复制类别字段?我希望不必这样做,因为每个联系人可能有很多子项,每次更改类别时都需要手动更新。
以下是过滤函数的伪代码:
如果可能的话,请描述如何实现它。谢谢!
以下是一个例子...
联系人:
{
"_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;
}
如果可能的话,请描述如何实现它。谢谢!