ReQL command: args
Command syntax
r.args(array) → special
Description
r.args is a special term that’s used to splice an array of arguments
into another term. This is useful when you want to call a variadic
term such as getAll with a set of arguments produced at runtime.
This is analogous to using apply in JavaScript. (However, note that args evaluates all its arguments before passing them into the parent term, even if the parent term otherwise allows lazy evaluation.)
Example: Get Alice and Bob from the table people.
r.table('people').getAll('Alice', 'Bob').run(conn, callback)
// or
r.table('people').getAll(r.args(['Alice', 'Bob'])).run(conn, callback)
Example: Get all of Alice’s children from the table people.
// r.table('people').get('Alice') returns {id: 'Alice', children: ['Bob', 'Carol']}
r.table('people').getAll(r.args(r.table('people').get('Alice')('children'))).run(conn, callback)
Note: When using r.args with a command that takes optional arguments, you must not include the optional arguments inside the args array.
// Wrong!
r.table('posts').indexCreate(r.args(['tags', {multi: true}]))
// Right
r.table('posts').indexCreate(r.args(['tags']), {multi: true})
Get more help
Couldn't find what you were looking for?
- Ask a question on Stack Overflow
- Chat with us and our community on Slack
- Talk to the team on IRC on #rethinkdb@freenode.net — via Webchat
- Ping @rethinkdb on Twitter
- Post an issue on the documentation issue tracker on GitHub
Contribute: edit this page or open an issue
