我将说明:我具有此功能
function (doc) {
if(doc.MovieId == "1721")
emit(doc.Rating, 1);
}
但是它给我返回了一些不相关的文档(例如,它们没有“评级”字段)。我的文档_id由partitionName:id组成,因此我想做if(doc.MovieId == "1721" && doc._id.contains("ratings"){...}
,但是它不起作用。有办法吗?
-----编辑1 -----圈子中的文档不相关。您是否需要JSON文档的架构?
-----编辑2 -----以下文件无关1。
{
"_id": "movies : 1721",
"_rev": "1-d7e0e3c8152d6978073d280e0aef7457",
"MovieId": "1721",
"Title": "Titanic (1997)",
"Genres": [
"Drama",
"Romance"
]
}
2。
{
"_id": "tags : 1490",
"_rev": "1-14c20c9cfb3ee1964a298777f80333d5",
"MovieId": "1721",
"UserId": "474",
"Tag": "shipwreck",
"Timestamp": "1138031879"
}
3。
{
"_id": "tags : 2791",
"_rev": "1-e4d6c9573fcdae726a69d5fc6255de27",
"MovieId": "1721",
"UserId": "537",
"Tag": "romance",
"Timestamp": "1424141922"
}
类似这样的副本是相关的:
{
"_id": "ratings : 31662",
"_rev": "1-446665286337faaf51e23e40b527ec2d",
"MovieId": "1721",
"UserId": "219",
"Rating": "0.5",
"Timestamp": "1214043346"
}
以下视图应只发出其_id以“ ratings:”开头的文档:
function (doc) {
var id_prefix = "ratings :";
if(doc._id.substr(0, id_prefix.length) === id_prefix && doc.MovieId == "1721")
emit(doc.Rating, 1);
}