## Not run:
# (x <- Cushion$new())
#
# file <- system.file("examples/omdb.json", package = "sofa")
# strs <- readLines(file)
#
# ## create a database
# if ("omdb" %in% db_list(x)) {
# invisible(db_delete(x, dbname="omdb"))
# }
# db_create(x, dbname='omdb')
#
# ## add the documents
# invisible(db_bulk_create(x, "omdb", strs))
#
# # Create a view, the easy way, but less flexible
# design_create(x, dbname='omdb', design='view1', fxnname="foobar1")
# design_create(x, dbname='omdb', design='view2', fxnname="foobar2",
# value="doc.Country")
# design_create(x, dbname='omdb', design='view5', fxnname="foobar3",
# value="[doc.Country,doc.imdbRating]")
#
# # the harder way, write your own function, but more flexible
# design_create_(x, dbname='omdb', design='view2',
# fxnname = "stuffthings", fxn = "function(doc){emit(null,doc.Country)}")
#
# # Delete a view
# design_delete(x, dbname='omdb', design='view1')
#
# # Get info on a design document
# ## HEAD request, returns just response headers
# design_head(x, dbname='omdb', design='view2')
# design_head(x, dbname='omdb', design='view5')
# ## GET request, returns information about the design document
# design_info(x, dbname='omdb', design='view2')
# design_info(x, dbname='omdb', design='view5')
#
# # Get a design document (GET request)
# design_get(x, dbname='omdb', design='view2')
# design_get(x, dbname='omdb', design='view5')
#
# # Search using a view
# res <- view_search(x, dbname='omdb', design='view2')
# head(
# do.call(
# "rbind.data.frame",
# lapply(res$rows, function(x) Filter(length, x))
# )
# )
#
# res <- view_search(x, dbname='omdb', design='view5')
# head(
# structure(do.call(
# "rbind.data.frame",
# lapply(res$rows, function(x) x$value)
# ), .Names = c('Country', 'imdbRating'))
# )
#
# # copy a design doc to another design doc
# design_copy(x, dbname = "omdb", design = "view2", design_to = "view22")
# ## End(Not run)
Run the code above in your browser using DataLab