我需要根据表单中输入的几个条件来搜索 CouchDB。名称、标签数组等。然后我需要各种视图来索引这些字段。最终,所有结果都将在 data.js 中进行整理并提供给 mustache.html。假设有 3 个视图 - docsByName、docsByTags、docsById。
我不知道的是,如何在 query.js 中查询所有这些视图。这可以做到吗?怎么做?
或者该方法应该是编写一个视图,以某种方式为每个搜索进行多次发射?
谢谢你。
根据您所说,我假设您正在使用Evently,所以我将引用Evently 入门:
async 函数是主要的明星,在这种情况下它发出一个 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);
}
});
}
});
}