文書一覧を取得する
「<データベース名>/_all_docs」をGETすると、データベース内の文書一覧を取得できます。
- 取得できるのは、文書のIDとリビジョンIDです。
- 内部的にはViewになっているらしく、ViewのQuerying Optionsも使えます。
- たとえば、count( 最新版ではlimit )オプションを指定して取得数を制限したりできます。
以下は、前に作ったクライアントを使用して文書一覧を取得する例です。
# データベースに接続 c = CouchDB::Client.new("http://<ホスト>:5984") c.put("/kittens/", "") c.put("/kittens/mii", {"name"=>"mii","age"=>1}) c.put("/kittens/tora", {"name"=>"tora","age"=>0}) c.put("/kittens/shiro", {"name"=>"shiro","age"=>2}) # 文書一覧を取得 p c.get("/kittens/_all_docs") # パラメータで取得数を指定したりできる p c.get("/kittens/_all_docs?count=2")
実行結果です。
{"total_rows"=>3, "rows"=>[{"id"=>"mii", "value"=>{"rev"=>"1831081642"}, "key"=>"mii"}, {"id"=>"shiro", "value"=>{"rev"=>"1026000963"}, "key"=>"shiro"}, {"id"=>"tora", "value"=>{"rev"=>"2537582100"}, "key"=>"tora"}], "offset"=>0} {"total_rows"=>3, "rows"=>[{"id"=>"mii", "value"=>{"rev"=>"1831081642"}, "key"=>"mii"}, {"id"=>"shiro", "value"=>{"rev"=>"1026000963"}, "key"=>"shiro"}], "offset"=>0}