Of course it doesn't make much sense to use certain options in _changes. For example, using feed=longpoll or continuous doesn't make much sense within R itself.
Usage
db_changes(
cushion,
dbname,
descending = NULL,
startkey = NULL,
endkey = NULL,
since = NULL,
limit = NULL,
include_docs = NULL,
feed = "normal",
heartbeat = NULL,
filter = NULL,
as = "list",
...
)
Arguments
- cushion
A
Cushion
object. Required.- dbname
Database name. (character)
- descending
Return in descending order? (logical)
- startkey
Document ID to start at. (character)
- endkey
Document ID to end at. (character)
- since
Start the results from the change immediately after the given sequence number.
- limit
Number document IDs to return. (numeric)
- include_docs
(character) If "true", returns docs themselves, in addition to IDs
- feed
Select the type of feed. One of normal, longpoll, or continuous. See description. (character)
- heartbeat
Period in milliseconds after which an empty line is sent in the results. Only applicable for longpoll or continuous feeds. Overrides any timeout to keep the feed alive indefinitely. (numeric (milliseconds))
- filter
Reference a filter function from a design document to selectively get updates.
- as
(character) One of list (default) or json
- ...
Curl args passed on to
HttpClient
Value
Either a list of json (depending on as
parameter), with
keys:
results - Changes made to a database, length 0 if no changes. Each of these has:
changes - List of document`s leafs with single field rev
id - Document ID
seq - Update sequence
last_seq - Last change update sequence
pending - Count of remaining items in the feed
Examples
if (FALSE) { # \dontrun{
user <- Sys.getenv("COUCHDB_TEST_USER")
pwd <- Sys.getenv("COUCHDB_TEST_PWD")
(x <- Cushion$new(user = user, pwd = pwd))
if ("leoalion" %in% db_list(x)) {
invisible(db_delete(x, dbname = "leoalion"))
}
db_create(x, dbname = "leoalion")
# no changes
res <- db_changes(x, dbname = "leoalion")
res$results
# create a document
doc1 <- '{"name": "drink", "type": "water", "score": 5}'
doc_create(x, dbname = "leoalion", doc1, docid = "awater")
# now there's changes
res <- db_changes(x, dbname = "leoalion")
res$results
# as JSON
db_changes(x, dbname = "leoalion", as = "json")
} # }