私はSpring 3でEktorpでCouch DBを使用しています。私はこの文書を読んで、例を実装しようとしました。私はこれらの技術にはとても新しいものです。これは私が理解していなかった点である。インラインビューの定義Couch Db Ektorp
@View(name = "all", map = "function(doc) { if (doc.type == 'Sofa') emit(null, doc._id)}")
public class SofaRepository extends CouchDbRepositorySupport<Sofa> {
@View(name = "avg_sofa_size", map = "function(doc) {...}", reduce = "function(doc) {...}")
public int getAverageSofaSize() {
ViewResult r = db.queryView(createQuery("avg_sofa_size"));
return r.getRows().get(0).getValueAsInt();
}
}
仕事wievsとそれらをどのように定義するには、何がそのラインで行わないことをどのように? CouchDbRepositorySupport
のために、このインライン・ビュー注釈を有することにより
public void add(Sofa entity);
public void update(Sofa entity);
public void remove(Sofa entity);
public Sofa get(String id);
public Sofa get(String id, String rev);
public List<T> getAll();
public boolean contains(String docId);
:箱から出し
おかげCouchDbConnector以上のドキュメントを見てみましょうです。そのビュー関数がどのように動作するか、つまりemitメソッドの詳細を説明できますか? – kamaci
'emit'はmap/reduceの' map'と等価です。ここでは後で減らすためにすべての値/範囲/データをマップしています。この[最初の関数]の例では、タイプ== 'Sofa'のすべてのドキュメントを 'emit'('返す 'と考える)します。 [CouchDB docs](http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Map_Functions)で詳細を読むことができます。 – tolitius