0

私はcouchbaseとcouchdbで同じビューを持っています。ビューの名前は「TotalPosts」です。ビューのコードを以下に貼り付けます。

これはマップです:

 function(doc) {
    emit("Total", 1);
        emit("TotalParticipants", doc.participants.length);
        if(doc.status == "1"){
            emit("Open", 1);
        } else if(doc.status == "2") {
            emit("Wah", parseInt(doc.wah_points));
        }
    }

これは削減コードです:

function (key, values, rereduce) {
    return sum(values);
}

ビューの結果は次のようになります。

キー値

オープン 7
合計 8
総参加者数 20
ワウ 50

これで、次のコードを使用して、couchdb でビューの結果を実行して取得できるようになりました。

public IEnumerable<Newtonsoft.Json.Linq.JToken> GetAllStatistics()
         {
             oCouchDB.SetDefaultDesignDoc("Statistics");

             ViewOptions voStats = new ViewOptions();
             voStats.GroupLevel = 1;
             voStats.Stale = true;

             var results = oCouchDB.View("TotalPosts", voStats);

             return results.Rows;

        }

今、これはcouchbaseの私のコードです:

public IEnumerable<Newtonsoft.Json.Linq.JToken> GetAllStatistics()
         {
             var results = oCouchbase.GetView("Statistics", "TotalPosts");
             return-----// what is the equivalent code here

        }

どうか私を助けてください....

4

1 に答える 1

0

Couchbaseは、CouchDBと同じようにJSONオブジェクトを返します。同じコードで動作するか、「results」変数を調べて中身を確認する必要があります。

于 2012-09-19T14:05:48.673 に答える