## Not run:
# (x <- Cushion$new())
#
# if ("sofadb" %in% db_list(x)) {
# invisible(db_delete(x, dbname="sofadb"))
# }
# db_create(x, dbname='sofadb')
#
# # write a document WITH a name (uses PUT)
# doc1 <- '{"name": "drink", "beer": "IPA", "score": 5}'
# doc_create(x, dbname="sofadb", doc1, docid="abeer")
# doc_create(x, dbname="sofadb", doc1, docid="morebeer", as='json')
# doc_get(x, dbname = "sofadb", docid = "abeer")
# ## with factor class values
# doc2 <- list(name = as.factor("drink"), beer = "stout", score = 4)
# doc_create(x, doc2, dbname="sofadb", docid="nextbeer", as='json')
# doc_get(x, dbname = "sofadb", docid = "nextbeer")
#
# # write a json document WITHOUT a name (uses POST)
# doc2 <- '{"name": "food", "icecream": "rocky road"}'
# doc_create(x, doc2, dbname="sofadb")
# doc3 <- '{"planet": "mars", "size": "smallish"}'
# doc_create(x, doc3, dbname="sofadb")
# ## assigns a UUID instead of a user given name
# alldocs(x, dbname = "sofadb")
#
# # write an xml document WITH a name (uses PUT). xml is written as xml in
# # couchdb, just wrapped in json, when you get it out it will be as xml
# doc4 <- "<top><a/><b/><c><d/><e>bob</e></c></top>"
# doc_create(x, doc4, dbname="sofadb", docid="somexml")
# doc_get(x, dbname = "sofadb", docid = "somexml")
#
# # You can pass in lists that autoconvert to json internally
# doc1 <- list(name = "drink", beer = "IPA", score = 9)
# doc_create(doc1, dbname="sofadb", docid="goodbeer")
#
# # Write directly from a data.frame
# ## Each row or column becomes a separate document
# ### by rows
# db_create(x, dbname = "test")
# doc_create(x, mtcars, dbname="test", how="rows")
# doc_create(x, mtcars, dbname="test", how="columns")
#
# head(iris)
# db_create(x, dbname = "testiris")
# doc_create(x, iris, dbname = "testiris")
# ## End(Not run)
Run the code above in your browser using DataLab