db_bulk_get: Query many documents at once

Description Usage Arguments Value Examples

View source: R/db_bulk_get.R

Description

Query many documents at once

Usage

1
db_bulk_get(cushion, dbname, docid_rev, as = "list", ...)

Arguments

cushion

A Cushion object. Required.

dbname

(character) Database name. Required.

docid_rev

A list of named lists, each of which must have the slot id, and optionally rev for the revision of the document id

as

(character) One of list (default) or json

...

Curl args passed on to HttpClient

Value

Either a list or json (depending on as parameter)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
## Not run: 
# initialize a CouchDB connection
user <- Sys.getenv("COUCHDB_TEST_USER")
pwd <- Sys.getenv("COUCHDB_TEST_PWD")
(x <- Cushion$new(user=user, pwd=pwd))

if ("bulkgettest" %in% db_list(x)) {
  invisible(db_delete(x, dbname="bulkgettest"))
}
db_create(x, dbname="bulkgettest")
db_bulk_create(x, "bulkgettest", mtcars)
res <- db_query(x, dbname = "bulkgettest", selector = list(cyl = 8))

# with ids only
ids <- vapply(res$docs, "[[", "", "_id")
ids_only <- lapply(ids[1:5], function(w) list(id = w))
db_bulk_get(x, "bulkgettest", docid_rev = ids_only)

# with ids and revs
ids_rev <- lapply(res$docs[1:3],
  function(w) list(id = w$`_id`, rev = w$`_rev`))
db_bulk_get(x, "bulkgettest", docid_rev = ids_rev)

## End(Not run)

sofa documentation built on July 8, 2020, 6:53 p.m.