我正在使用以下视图函数来迭代数据库中的所有项目(以便查找标记),但我认为如果数据集很大,性能非常差.还有其他方法吗?
def by_tag(tag): return ''' function(doc) { if (doc.tags.length > 0) { for (var tag in doc.tags) { if (doc.tags[tag] == "%s") { emit(doc.published, doc) } } } }; ''' % tag
Bahadır Yağa.. 7
免责声明:我没有对此进行测试,也不知道它是否能够表现更好.
创建单个烫发视图:
function(doc) { for (var tag in doc.tags) { emit([tag, doc.published], doc) } };
并使用_view/your_view/all查询?startkey = ['your_tag_here']&endkey = ['your_tag_here',{}]
生成的JSON结构会略有不同,但您仍会获得发布日期排序.
免责声明:我没有对此进行测试,也不知道它是否能够表现更好.
创建单个烫发视图:
function(doc) { for (var tag in doc.tags) { emit([tag, doc.published], doc) } };
并使用_view/your_view/all查询?startkey = ['your_tag_here']&endkey = ['your_tag_here',{}]
生成的JSON结构会略有不同,但您仍会获得发布日期排序.