我想知道:在我的地图缩小功能中,我可以采取" parent"属性作为变量?像那样:
function (doc, meta) {
var key,value;
if(doc.type == "mainForums" && doc.parent == **VAR**){
key = [doc.type,doc.id]
value = {Id : doc.id, Title : doc.title, Description : doc.description, Parent: doc.parent, HasChild : doc.hasChild, Level : doc.level, ImageUrl : "http://icon.donanimhaber.com/mobile-forum-icons/" + doc.iconPath, AvarageColor: doc.avarageColor, RepMode : doc.repMode, iconPath : doc.iconPath, MessageCountThisWeek : doc.messageCountThisWeek, TopicCountThisWeek : doc.topicCountThisWeek}
emit(key, value);
}
}
由于我在couchbase控制台上创建了地图缩小功能,所以我不知道如何在此功能中添加变量。我在MVC上做了映射部分,如下所示:
var tempForum = new Forum
{
Id = item.Id,
Title = item.Title,
Description = item.Description,
HasChild = item.HasChild,
Level = item.Level,
iconPath = item.iconPath,
Parent = item.Parent,
IsFavorite = item.IsFavorite,
TopicCountThisWeek = item.TopicCountThisWeek,
MessageCountThisWeek = item.MessageCountThisWeek,
RepMode = item.RepMode,
ForumExtra = item.ForumExtra
}
正确地在屏幕上打印json。我应该采取移动(android)程序员给我的变量,让我们说4,并从sync_gateway带他父= 4个文档。或者android程序员应该做那个map减少的东西吗?
也许我应该忘记视图并在这种情况下仅使用N1QL?因为我能够使用N1QL来完成它,但我也想用视图来做,因为我可能需要稍后查看。我不确定什么是最好的,我真的很困惑。
非常感谢。
答案 0 :(得分:0)
我不认为这是视图的一个很好的用例,它不能参数化,也不能真正构建以返回完整的文档层次结构。
value
你emit
是存储在索引中的内容(并传递给reduce
函数),因此真的多余存储全部内容,一般不是一个好主意。
可配置的父母位数甚至可以支持AFAIK。
所以我建议坚持使用N1QL,或者找一种方法在服务器(N1QL)上做一半,在客户端上做一半?