code – Tools for representing JavaScript code
Tools for representing JavaScript code in BSON.
class bson.code.Code(code, scope=None, \*kwargs*)
Bases: str
BSON’s JavaScript code type.
Raises TypeError if code is not an instance of basestring
(str in python 3) or scope is not None
or an instance of dict.
Scope variables can be set by passing a dictionary as the scope argument or by using keyword arguments. If a variable is set as a keyword argument it will override any setting for that variable in the scope dictionary.
Parameters
code: A string containing JavaScript code to be evaluated or another instance of Code. In the latter case, the scope of code becomes this Code’s scope.
scope (optional): dictionary representing the scope in which code should be evaluated - a mapping from identifiers (as strings) to values. Defaults to
None
. This is applied after any scope associated with a given code above.**kwargs (optional): scope variables can also be passed as keyword arguments. These are applied after scope and code.
Changed in version 3.4: The default value for scope is None
instead of {}
.
property scope
Scope dictionary for this instance or
None
.