在couchDB中,我有一个包含一些文档的数据库。创建视图时,将在此数据库内部创建视图以及文档。然后当我获取数据库的所有元素时,couchDB返回包括视图在内的所有元素。有什么方法可以将所有内容与观点分开吗?
答案 0 :(得分:0)
执行此操作的一种方法是在将文档插入CouchDB时对文档进行“分类”。执行此操作的常用技巧是为您创建的所有文档添加“类型”属性。
e.g。
{
firstName: 'John',
lastName: 'Doe',
type: 'user'
}
然后,您可以创建一个仅返回具有该属性的文档的view。
function(doc) {
if (doc.type) {
emit(doc._id, doc);
}
}
答案 1 :(得分:0)
您可以使用
/<mydb>/_all_docs?descending=true&endkey="_design0"
_design0中的'0'确保输出在第一个设计文档之前停止。可选参数inclusive_end = false也可以起作用,但在短期测试中不适合我。
有关详细信息,请参阅http://docs.couchdb.org/en/latest/api/database/bulk-api.html。
但我也更喜欢这个任务的简单视图。
答案 2 :(得分:0)
使用它应该有效:
/<mydb>/_all_docs?endkey="_design"
如果您只使用自动生成的ID,那么您也可以使用:
/<mydb>/_all_docs?endkey="_"
但是,如果您使用自定义ID,则可能会导致问题,因为&#34; _&#34;字符介于大写和小写字母之间。