我在 couchdb 数据库中有以下文档结构:
{
'type': 'Message',
'subject': 'Cheap V1@gr@',
'body': 'not spam',
'metadata': {
'participation': {
'read': [1,2,3]
}
}
}
该read
数组是已阅读消息的用户 ID 列表。我可以轻松地创建一个视图,以允许我按用户已阅读的消息过滤消息列表,如下所示:
地图功能
function(doc) {
doc['metadata']['participation']['read'].forEach(function(user_id) {
emit(user_id, doc._id);
});
}
然后执行查询user_id = 1
:
curl -X GET \
http://localhost:5984/couchrest/_design/Message/_view/included_in_read?key=1
我的问题是:我将如何编写视图/查询来返回数组中不包含用户 ID 的文档read
,即“未读”消息。