我需要根据表单中输入的几个条件搜索CouchDB。名称、标签数组等。然后,我需要各种视图来索引这些字段。最终,所有结果都将整理成数据.js并提供给mustache.html。 假设有 3 个视图 - docsByName、docsByTags、docsById。
我不知道的是,如何在查询.js中查询所有这些视图。可以做到这一点以及如何完成吗?
或者应该编写一个视图,以某种方式为每个搜索发出多个视图?
谢谢。
从你所说的,我假设你正在使用 Evently,所以我将引用 Evently 入门:
异步函数是主星,在这种情况下,它发出 Ajax 请求(但它可以做任何它想做的事情)。另一个需要注意的重要事情是,异步函数的第一个参数是一个回调,你用它来告诉 Evently 当你完成异步操作时。传递给回调函数的任何内容都将成为传递给数据函数的第一项。
简而言之:将您的 Ajax 请求放在 async.js
.
作为旁注:Evently 只是编写 couchapp 的可能选择之一,目前尚不清楚它是否得到维护。但是它可以工作,并且很容易重新排列代码以不使用它。
编辑:这是一个示例异步函数(从旧程序剪切和粘贴):
function(cb, e) {
var app = $$(this).app
;
app.db.openDoc('SOMEDOCID', {
error: function(code, error, reason) {
alert("Error("+code+" "+error+"): "+reason);
}
, success: function(doc) {
app.view('SOMEVIEWNAME', {
include_docs: true
, error: function(code, error, reason) {
alert("Error("+code+" "+error+"): "+reason);
}
, success: function(resp) {
resp.doc = doc;
cb(resp);
}
});
}
});
}