我是沙发基地的新手。所以我看到了如何编写 couchbase 视图。现在我想知道我是否可以将我的 java 代码中的参数(例如一些 consts)传递到 map reducer 的 javascript 中,有可能以某种方式吗?
1 回答
我将尝试阐明在 Couchbase 中使用 Map/Reduce 的方式。
Map/Reduce 在 Couchbase 中称为“视图”,它们用于索引您的文档:从您的 JSON 文档中获取一些属性并创建一个索引,然后您可以查询。
Map 仅在您保存/更新文档时执行,并且 Couchbase Server 将文档和元数据发送到该函数。所以在这里你无法控制发送到 map/reduce 的内容。请记住,您无法控制何时调用它,它由服务器完成,以索引在 Couchbase 中添加/更新的文档。
因此,如果我们查看一些调用视图的 Java 代码:
View view = client.getView("beer", "brewery_beers");
这不会调用 Map/Reduce ...它只准备对象以对 map reduce 创建的索引进行查询。
因此,您可以将参数传递给查询以从索引中选择行,您可以使用的参数列表可在此处获得:
使用视图查找数据:http: //docs.couchbase.com/couchbase-devguide-2.2/#finding-data-with-views
Java 视图查询接口:http ://docs.couchbase.com/couchbase-sdk-java-1.2/#viewquery-interface
希望对您有所帮助,如果这对您来说还不够,请随时询问更多信息。
更高级的内容:如果您想确切知道何时在 Couchbase 中调用 Map/reduce 函数,您可以查看本章索引更新和过时参数