CouchDB递归丢弃查询

CouchDB递归丢弃查询,couchdb,Couchdb,不太清楚该怎么称呼它,但在SQL中,我经常发现自己在开发时会做这样的事情: DELETE FROM people WHERE name == "John" 当我刚刚使用批导入器导入了一组数据,并且想要清除一些结果,而不是清除整个数据集时,通常会使用这种方法。我如何在CouchDB中进行此操作?我可以很容易地制作地图功能 function(doc) { if (doc.Name == "John") emit(doc._id, null); } 然后删除返回的ID…但这需

不太清楚该怎么称呼它,但在SQL中,我经常发现自己在开发时会做这样的事情:

DELETE FROM people WHERE name == "John"
当我刚刚使用批导入器导入了一组数据,并且想要清除一些结果,而不是清除整个数据集时,通常会使用这种方法。我如何在CouchDB中进行此操作?我可以很容易地制作地图功能

function(doc) {
   if (doc.Name == "John") 
       emit(doc._id, null);
}
然后删除返回的ID…但这需要我编写某种前端应用程序来获取这些ID并执行删除。有时我的查询要复杂得多,需要进行一些查询,然后是删除,然后是另一个查询和更新


进行这种映射/删除以及映射/更新的公认方法是什么?

公认方法与您描述的基本相同。查询视图,然后删除返回的ID。这并不像听起来那么糟糕。使用CouchDB库在您选择的语言中创建一个快速脚本,实际上您只是将SQL的逻辑移动到一种更强大的语言中。有些人可能会考虑这个好处。YMMV