Navigation
API Reference
Config Reference
|
next
|
Apache CouchDB 1.6 Documentation
»
Apache CouchDB™
1.6.1 Documentation
¶
1. Introduction
1.1. Technical Overview
1.1.1. Document Storage
1.1.2. ACID Properties
1.1.3. Compaction
1.1.4. Views
1.1.5. Security and Validation
1.1.6. Distributed Updates and Replication
1.1.7. Implementation
1.2. Why CouchDB?
1.2.1. Relax
1.2.2. A Different Way to Model Your Data
1.2.3. A Better Fit for Common Applications
1.2.4. Building Blocks for Larger Systems
1.2.5. CouchDB Replication
1.2.6. Local Data Is King
1.2.7. Wrapping Up
1.3. Eventual Consistency
1.3.1. Working with the Grain
1.3.2. The CAP Theorem
1.3.3. Local Consistency
1.3.4. Validation
1.3.5. Distributed Consistency
1.3.6. Incremental Replication
1.3.7. Case Study
1.3.8. Wrapping Up
1.4. Getting Started
1.4.1. All Systems Are Go!
1.4.2. Welcome to Futon
1.4.3. Your First Database and Document
1.4.4. Running a Query Using MapReduce
1.4.5. Triggering Replication
1.4.6. Wrapping Up
1.5. The Core API
1.5.1. Server
1.5.2. Databases
1.5.3. Documents
1.5.4. Replication
1.5.5. Wrapping Up
1.6. Security
1.6.1. Authentication
1.6.2. Authentication Database
1.7. Futon: Web GUI Administration Panel
1.7.1. Managing Databases and Documents
1.7.2. Configuring Replication
1.8. cURL: Your Command Line Friend
2. Installation
2.1. Installation on Unix-like systems
2.1.1. Troubleshooting
2.1.2. Dependencies
2.1.3. Installing
2.1.4. First Run
2.1.5. Security Considerations
2.1.6. Running as a Daemon
2.2. Installation on Windows
2.2.1. Installation from binaries
2.2.2. Installation from sources
2.3. Installation on Mac OS X
2.3.1. Installation using the Apache CouchDB native application
2.3.2. Installation with HomeBrew
2.3.3. Installation from MacPorts
2.4. Installation on FreeBSD
2.4.1. Installation from ports
3. Configuring CouchDB
3.1. Introduction Into Configuring
3.1.1. Configuration files
3.1.2. Parameter names and values
3.1.3. Setting parameters via the configuration file
3.1.4. Setting parameters via the HTTP API
3.2. Base Configuration
3.2.1. Base CouchDB Options
3.3. CouchDB HTTP Server
3.3.1. HTTP Server Options
3.3.2. Secure Socket Level Options
3.3.3. Cross-Origin Resource Sharing
3.3.4. Virtual Hosts
3.4. Authentication and Authorization
3.4.1. Server Administrators
3.4.2. Authentication Configuration
3.4.3. HTTP OAuth Configuration
3.4.4. OAuth Configuration
3.5. Compaction Configuration
3.5.1. Database Compaction Options
3.5.2. Compaction Daemon Rules
3.5.3. Configuration of Compaction Daemon
3.5.4. Views Compaction Options
3.6. Logging
3.6.1. Logging options
3.6.2. Per module logging
3.7. Replicator
3.7.1. Replicator Database Configuration
3.8. Query Servers
3.8.1. Query Servers Definition
3.8.2. Query Servers Configuration
3.8.3. Native Erlang Query Server
3.9. External Processes
3.9.1. OS Daemons
3.9.2. OS Daemons settings
3.9.3. Update notifications
3.10. HTTP Resource Handlers
3.10.1. Global HTTP Handlers
3.10.2. Database HTTP Handlers
3.10.3. Design Documents HTTP Handlers
3.11. CouchDB Internal Services
3.11.1. CouchDB Daemonized Mini Apps
3.12. Miscellaneous Parameters
3.12.1. Configuration of Attachment Storage
3.12.2. Statistic Calculation
3.12.3. UUIDs Configuration
3.12.4. Vendor information
3.13. Proxying Configuration
3.13.1. CouchDB As Proxy
4. Replication
4.1. Introduction Into Replications
4.1.1. Triggering Replication
4.1.2. Replication Procedure
4.1.3. Master - Master replication
4.1.4. Controlling which Documents to Replicate
4.1.5. Migrating Data to Clients
4.2. CouchDB Replication Protocol
4.2.1. Language
4.2.2. Goals
4.2.3. Definitions
4.2.4. Algorithm
4.2.5. Filter replication
4.2.6. Optimisations
4.2.7. API Reference
4.2.8. Reference
4.3. Replicator Database
4.3.1. Basics
4.3.2. Documents describing the same replication
4.3.3. Canceling replications
4.3.4. Server restart
4.3.5. Changing the Replicator Database
4.3.6. Replicating the replicator database
4.3.7. Delegations
4.4. Replication and conflict model
4.4.1. CouchDB replication
4.4.2. Conflict avoidance
4.4.3. Conflicts in batches
4.4.4. Revision tree
4.4.5. Working with conflicting documents
4.4.6. Multiple document API
4.4.7. View map functions
4.4.8. Merging and revision history
4.4.9. Comparison with other replicating data stores
5. CouchDB Maintenance
5.1. Compaction
5.1.1. Database Compaction
5.1.2. Views Compaction
5.1.3. Automatic Compaction
5.2. Performance
5.2.1. Disk I/O
5.2.2. System Resource Limits
5.2.3. Network
5.2.4. CouchDB
5.2.5. Views
6. CouchApp
6.1. Design Functions
6.1.1. View functions
6.1.2. Show functions
6.1.3. List functions
6.1.4. Update functions
6.1.5. Filter functions
6.1.6. Validate document update functions
6.2. Guide to Views
6.2.1. Introduction Into The Views
6.2.2. Views Collation
6.2.3. Joins With Views
6.2.4. View Cookbook for SQL Jockeys
6.2.5. Pagination Recipe
7. CouchDB Externals API
7.1. The New Hotness
7.2. How does it work? - HTTP Proxying
7.3. How does it work? - OS Daemons
7.3.1. Configuration API
7.3.2. Logging API
7.3.3. Dynamic Daemons
7.4. Neat. But So What?
8. Query Server
8.1. Query Server Protocol
8.1.1.
reset
8.1.2.
add_lib
8.1.3.
map_doc
8.1.4.
reduce
8.1.5.
rereduce
8.1.6.
ddoc
8.1.7. Raising errors
8.1.8. Logging
8.2. JavaScript
8.2.1. Design functions context
8.2.2. CommonJS Modules
8.3. Erlang
9. Fauxton
9.1. Installation
9.1.1. Get the source
9.1.2. Fauxton Setup
9.1.3. Dev Server
9.1.4. Deploy Fauxton
9.2. Writting Addons
9.2.1. Generating an Addon
9.2.2. Routes and hooks
9.2.3. Hello world Addon
10. API Reference
10.1. API Basics
10.1.1. Request Format and Responses
10.1.2. HTTP Headers
10.1.3. JSON Basics
10.1.4. HTTP Status Codes
10.2. Server
10.2.1.
/
10.2.2.
/_active_tasks
10.2.3.
/_all_dbs
10.2.4.
/_db_updates
10.2.5.
/_log
10.2.6.
/_replicate
10.2.7.
/_restart
10.2.8.
/_stats
10.2.9.
/_utils
10.2.10.
/_uuids
10.2.11.
/favicon.ico
10.2.12. Authentication
10.2.13. Configuration
10.3. Databases
10.3.1.
/db
10.3.2.
/db/_all_docs
10.3.3.
/db/_bulk_docs
10.3.4.
/db/_changes
10.3.5.
/db/_compact
10.3.6.
/db/_compact/design-doc
10.3.7.
/db/_ensure_full_commit
10.3.8.
/db/_view_cleanup
10.3.9.
/db/_security
10.3.10.
/db/_temp_view
10.3.11.
/db/_purge
10.3.12.
/db/_missing_revs
10.3.13.
/db/_revs_diff
10.3.14.
/db/_revs_limit
10.4. Documents
10.4.1.
/db/doc
10.4.2.
/db/doc/attachment
10.5. Design Documents
10.5.1.
/db/_design/design-doc
10.5.2.
/db/_design/design-doc/attachment
10.5.3.
/db/_design/design-doc/_info
10.5.4.
/db/_design/design-doc/_view/view-name
10.5.5.
/db/_design/design-doc/_show/show-name
10.5.6.
/db/_design/design-doc/_show/show-name/doc-id
10.5.7.
/db/_design/design-doc/_list/list-name/view-name
10.5.8.
/db/_design/design-doc/_list/list-name/other-ddoc/view-name
10.5.9.
/db/_design/design-doc/_update/update-name
10.5.10.
/db/_design/design-doc/_update/update-name/doc-id
10.5.11.
/db/_design/design-doc/_rewrite/path
10.6. Local (non-replicating) Documents
10.6.1.
/db/_local/id
11. JSON Structure Reference
11.1. All Database Documents
11.2. Bulk Document Response
11.3. Bulk Documents
11.4. Changes information for a database
11.5. CouchDB Document
11.6. CouchDB Error Status
11.7. CouchDB database information object
11.8. Design Document
11.9. Design Document Information
11.10. Document with Attachments
11.11. List of Active Tasks
11.12. Replication Settings
11.13. Replication Status
11.14. Request object
11.15. Response object
11.16. Returned CouchDB Document with Detailed Revision Info
11.17. Returned CouchDB Document with Revision Info
11.18. Returned Document with Attachments
11.19. Security Object
11.20. User Context Object
11.21. View Head Information
12. Experimental Features
12.1. NodeJS Query Server
12.1.1. Setup
12.1.2. Differences from the SpiderMonkey Query Server
12.2. Plugins
13. Contributing to this Documentation
14. Release History
14.1. 1.6.x Branch
14.1.1. Deprecations
14.1.2. Version 1.6.1
14.1.3. Version 1.6.0
14.2. 1.5.x Branch
14.2.1. Version 1.5.1
14.2.2. Version 1.5.0
14.3. 1.4.x Branch
14.3.1. Upgrade Notes
14.3.2. Version 1.4.0
14.4. 1.3.x Branch
14.4.1. Upgrade Notes
14.4.2. Version 1.3.1
14.4.3. Version 1.3.0
14.5. 1.2.x Branch
14.5.1. Upgrade Notes
14.5.2. Version 1.2.2
14.5.3. Version 1.2.1
14.5.4. Version 1.2.0
14.6. 1.1.x Branch
14.6.1. Upgrade Notes
14.6.2. Version 1.1.2
14.6.3. Version 1.1.1
14.6.4. Version 1.1.0
14.7. 1.0.x Branch
14.7.1. Upgrade Notes
14.7.2. Version 1.0.4
14.7.3. Version 1.0.3
14.7.4. Version 1.0.2
14.7.5. Version 1.0.1
14.7.6. Version 1.0.0
14.8. 0.11.x Branch
14.8.1. Upgrade Notes
14.8.2. Version 0.11.2
14.8.3. Version 0.11.1
14.8.4. Version 0.11.0
14.9. 0.10.x Branch
14.9.1. Upgrade Notes
14.9.2. Version 0.10.2
14.9.3. Version 0.10.1
14.9.4. Version 0.10.0
14.10. 0.9.x Branch
14.10.1. Upgrade Notes
14.10.2. Version 0.9.2
14.10.3. Version 0.9.1
14.10.4. Version 0.9.0
14.11. 0.8.x Branch
14.11.1. Version 0.8.1-incubating
14.11.2. Version 0.8.0-incubating
15. Security Issues Information
15.1. CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability
15.1.1. Description
15.1.2. Mitigation
15.1.3. Example
15.1.4. Credit
15.2. CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack
15.2.1. Description
15.2.2. Mitigation
15.2.3. Example
15.2.4. Credit
15.3. CVE-2010-3854: Apache CouchDB Cross Site Scripting Issue
15.3.1. Description
15.3.2. Mitigation
15.3.3. Example
15.3.4. Credit
15.4. CVE-2012-5641: Information disclosure via unescaped backslashes in URLs on Windows
15.4.1. Description
15.4.2. Mitigation
15.4.3. Work-Around
15.4.4. Acknowledgement
15.4.5. References
15.5. CVE-2012-5649: JSONP arbitrary code execution with Adobe Flash
15.5.1. Description
15.5.2. Mitigation
15.5.3. Work-Around
15.6. CVE-2012-5650: DOM based Cross-Site Scripting via Futon UI
15.6.1. Description
15.6.2. Mitigation
15.6.3. Work-Around
15.6.4. Acknowledgement
15.7. CVE-2014-2668: DoS (CPU and memory consumption) via the count parameter to /_uuids
15.7.1. Description
15.7.2. Mitigation
15.7.3. Work-Around
16. Reporting New Security Problems with Apache CouchDB
17. About CouchDB Documentation
17.1. License
Quick Search
Next topic
1. Introduction
Utilities
Futon
More Help
Homepage
Wiki
Mailing Lists
IRC
Issues
Download
Show on GitHub
Edit on GitHub
Navigation
API Reference
Config Reference
|
next
|
Apache CouchDB 1.6 Documentation
»