mongo::BSONElement Class Reference

#include <bsonelement.h>

List of all members.

Public Member Functions

const mongo::OID__oid () const
string _asCode () const
double _numberDouble () const
int _numberInt () const
long long _numberLong () const
OpTime _opTime () const
vector< BSONElementArray () const
const char * binData (int &len) const
const char * binDataClean (int &len) const
BinDataType binDataType () const
bool Bool () const
bool boolean () const
 BSONElement (const char *d, int maxLen=-1)
 BSONElement ()
int canonicalType () const
const char * codeWScopeCode () const
BSONObj codeWScopeObject () const
const char * codeWScopeScopeData () const
Date_t date () const
Date_t Date () const
const char * dbrefNS () const
const mongo::OIDdbrefOID () const
double Double () const
BSONObj embeddedObject () const
BSONObj embeddedObjectUserCheck () const
bool eoo () const
const char * fieldName () const
int getGtLtOp (int def=0) const
int Int () const
bool isABSONObj () const
bool isBoolean () const
bool isNull () const
bool isNumber () const
bool isSimpleType () const
string jsonString (JsonStringFormat format, bool includeFieldNames=true, int pretty=0) const
long long Long () const
bool mayEncapsulate () const
void Null () const
double number () const
double Number () const
double numberDouble () const
int numberInt () const
long long numberLong () const
BSONObj Obj () const
int objsize () const
mongo::OID OID () const
bool ok () const
void OK () const
 operator string () const
bool operator< (const BSONElement &other) const
bool operator== (const BSONElement &r) const
BSONElement operator[] (const string &field) const
const char * rawdata () const
const char * regex () const
const char * regexFlags () const
int size (int maxLen=-1) const
string str () const
string String () const
unsigned int timestampInc () const
Date_t timestampTime () const
void toString (StringBuilder &s, bool includeFieldName=true, bool full=false) const
string toString (bool includeFieldName=true, bool full=false) const
bool trueValue () const
BSONType type () const
void Val (string &v) const
void Val (double &v) const
void Val (int &v) const
void Val (mongo::OID &v) const
void Val (BSONObj &v) const
void Val (bool &v) const
void Val (long long &v) const
void Val (Date_t &v) const
void validate () const
const char * value () const
bool valuesEqual (const BSONElement &r) const
int valuesize () const
const char * valuestr () const
const char * valuestrsafe () const
int valuestrsize () const
int woCompare (const BSONElement &e, bool considerFieldName=true) const
BSONObj wrap (const char *newName) const
BSONObj wrap () const

Private Member Functions

const BSONElementchk (bool expr) const
const BSONElementchk (int t) const
int fieldNameSize () const

Private Attributes

const char * data
int fieldNameSize_
int totalSize

Friends

class BSONObj
class BSONObjIterator

Detailed Description

BSONElement represents an "element" in a BSONObj. So for the object { a : 3, b : "abc" }, 'a : 3' is the first element (key+value).

The BSONElement object points into the BSONObj's data. Thus the BSONObj must stay in scope for the life of the BSONElement.

internals: <type><fieldName>

-------- size() ------------ -fieldNameSize- value() type()

Definition at line 52 of file bsonelement.h.


Constructor & Destructor Documentation

mongo::BSONElement::BSONElement (  )  [inline]

Constructs an empty element

Definition at line 548 of file bsonelement.h.

mongo::BSONElement::BSONElement ( const char *  d,
int  maxLen = -1 
) [inline, explicit]

Definition at line 370 of file bsonelement.h.


Member Function Documentation

const mongo::OID& mongo::BSONElement::__oid (  )  const [inline]

Retrieve the object ID stored in the object. You must ensure the element is of type jstOID first.

Definition at line 198 of file bsonelement.h.

string mongo::BSONElement::_asCode (  )  const [inline]

Definition at line 48 of file bson_db.h.

double mongo::BSONElement::_numberDouble (  )  const [inline]

Return double value for this field. MUST be NumberDouble type.

Definition at line 177 of file bsonelement.h.

int mongo::BSONElement::_numberInt (  )  const [inline]

Return double value for this field. MUST be NumberInt type.

Definition at line 179 of file bsonelement.h.

long long mongo::BSONElement::_numberLong (  )  const [inline]

Return double value for this field. MUST be NumberLong type.

Definition at line 181 of file bsonelement.h.

OpTime mongo::BSONElement::_opTime (  )  const [inline]

Definition at line 42 of file bson_db.h.

vector<BSONElement> mongo::BSONElement::Array (  )  const
const char* mongo::BSONElement::binData ( int &  len  )  const [inline]

Get raw binary data. Element must be of type BinData. Doesn't handle type 2 specially

Definition at line 251 of file bsonelement.h.

const char* mongo::BSONElement::binDataClean ( int &  len  )  const [inline]

Get binary data. Element must be of type BinData. Handles type 2

Definition at line 258 of file bsonelement.h.

BinDataType mongo::BSONElement::binDataType (  )  const [inline]

Definition at line 270 of file bsonelement.h.

bool mongo::BSONElement::Bool (  )  const [inline]

Definition at line 65 of file bsonelement.h.

bool mongo::BSONElement::boolean (  )  const [inline]
Returns:
value of a boolean element. You must assure element is a boolean before calling.

Definition at line 154 of file bsonelement.h.

int mongo::BSONElement::canonicalType (  )  const [inline]

returns the tyoe of the element fixed for the main type the main purpose is numbers. any numeric type will return NumberDouble Note: if the order changes, indexes have to be re-built or than can be corruption

Definition at line 414 of file bsonelement.h.

const BSONElement& mongo::BSONElement::chk ( bool  expr  )  const [inline, private]

Definition at line 407 of file bsonelement.h.

const BSONElement& mongo::BSONElement::chk ( int  t  )  const [inline, private]

Definition at line 399 of file bsonelement.h.

const char* mongo::BSONElement::codeWScopeCode (  )  const [inline]

Get javascript code of a CodeWScope data element.

Definition at line 233 of file bsonelement.h.

BSONObj mongo::BSONElement::codeWScopeObject (  )  const [inline]

Definition at line 44 of file bson-inl.h.

const char* mongo::BSONElement::codeWScopeScopeData (  )  const [inline]

Get the scope SavedContext of a CodeWScope data element.

Definition at line 237 of file bsonelement.h.

Date_t mongo::BSONElement::date (  )  const [inline]

Retrieve a java style date value from the element. Ensure element is of type Date before calling.

Definition at line 161 of file bsonelement.h.

Date_t mongo::BSONElement::Date (  )  const [inline]

Definition at line 60 of file bsonelement.h.

const char* mongo::BSONElement::dbrefNS (  )  const [inline]

Definition at line 350 of file bsonelement.h.

const mongo::OID& mongo::BSONElement::dbrefOID (  )  const [inline]

Definition at line 355 of file bsonelement.h.

double mongo::BSONElement::Double (  )  const [inline]

Definition at line 62 of file bsonelement.h.

BSONObj mongo::BSONElement::embeddedObject (  )  const [inline]

Get the embedded object this element holds.

Definition at line 39 of file bson-inl.h.

BSONObj mongo::BSONElement::embeddedObjectUserCheck (  )  const [inline]

Definition at line 30 of file bson-inl.h.

bool mongo::BSONElement::eoo (  )  const [inline]

Indicates if it is the end-of-object element, which is present at the end of every BSON object.

Definition at line 118 of file bsonelement.h.

const char* mongo::BSONElement::fieldName (  )  const [inline]

field name of the element. e.g., for name : "Joe" "name" is the fieldname

Definition at line 135 of file bsonelement.h.

int mongo::BSONElement::fieldNameSize (  )  const [inline, private]

Definition at line 390 of file bsonelement.h.

int mongo::BSONElement::getGtLtOp ( int  def = 0  )  const

0 == Equality, just not defined yet

int mongo::BSONElement::Int (  )  const [inline]

Definition at line 64 of file bsonelement.h.

bool mongo::BSONElement::isABSONObj (  )  const [inline]

True if this element can be a BSONObj

Definition at line 332 of file bsonelement.h.

bool mongo::BSONElement::isBoolean (  )  const [inline]

Definition at line 149 of file bsonelement.h.

bool mongo::BSONElement::isNull (  )  const [inline]

True if element is null.

Definition at line 201 of file bsonelement.h.

bool mongo::BSONElement::isNumber (  )  const [inline]

True if element is of a numeric type.

Definition at line 481 of file bsonelement.h.

bool mongo::BSONElement::isSimpleType (  )  const [inline]

True if number, string, bool, date, OID

Definition at line 492 of file bsonelement.h.

string mongo::BSONElement::jsonString ( JsonStringFormat  format,
bool  includeFieldNames = true,
int  pretty = 0 
) const
long long mongo::BSONElement::Long (  )  const [inline]

Definition at line 63 of file bsonelement.h.

bool mongo::BSONElement::mayEncapsulate (  )  const [inline]

True if this element may contain subobjects.

Definition at line 320 of file bsonelement.h.

void mongo::BSONElement::Null (  )  const [inline]

Definition at line 68 of file bsonelement.h.

double mongo::BSONElement::number (  )  const [inline]

Retrieve the numeric value of the element. If not of a numeric type, returns 0. Note: casts to double, data loss may occur with large (>52 bit) NumberLong values.

Definition at line 194 of file bsonelement.h.

double mongo::BSONElement::Number (  )  const [inline]

Definition at line 61 of file bsonelement.h.

double mongo::BSONElement::numberDouble (  )  const [inline]

Retrieve the numeric value of the element. If not of a numeric type, returns 0. Note: casts to double, data loss may occur with large (>52 bit) NumberLong values.

Definition at line 507 of file bsonelement.h.

int mongo::BSONElement::numberInt (  )  const [inline]

Retrieve int value for the element safely. Zero returned if not a number.

Retrieve int value for the element safely. Zero returned if not a number. Converted to int if another numeric type.

Definition at line 521 of file bsonelement.h.

long long mongo::BSONElement::numberLong (  )  const [inline]

Retrieve long value for the element safely. Zero returned if not a number.

Definition at line 535 of file bsonelement.h.

BSONObj mongo::BSONElement::Obj (  )  const [inline]
Returns:
the embedded object associated with this field. Note the returned object is a reference to within the parent bson object. If that object is out of scope, this pointer will no longer be valid. Call getOwned() on the returned BSONObj if you need your own copy. throws UserException if the element is not of type object.

Definition at line 575 of file bson-inl.h.

int mongo::BSONElement::objsize (  )  const [inline]

Definition at line 212 of file bsonelement.h.

mongo::OID mongo::BSONElement::OID (  )  const [inline]

Definition at line 67 of file bsonelement.h.

bool mongo::BSONElement::ok (  )  const [inline]

Use ok() to check if a value is assigned: if( myObj["foo"].ok() ) ...

Definition at line 94 of file bsonelement.h.

void mongo::BSONElement::OK (  )  const [inline]

Definition at line 69 of file bsonelement.h.

mongo::BSONElement::operator string (  )  const [inline]

Definition at line 99 of file bsonelement.h.

bool mongo::BSONElement::operator< ( const BSONElement other  )  const [inline]

Definition at line 362 of file bsonelement.h.

bool mongo::BSONElement::operator== ( const BSONElement r  )  const [inline]

Returns true if elements are equal.

Definition at line 297 of file bsonelement.h.

BSONElement mongo::BSONElement::operator[] ( const string &  field  )  const [inline]

retrieve a field within this element throws exception if *this is not an embedded object

Definition at line 577 of file bson-inl.h.

const char* mongo::BSONElement::rawdata (  )  const [inline]

Definition at line 308 of file bsonelement.h.

const char* mongo::BSONElement::regex (  )  const [inline]

Retrieve the regex string for a Regex element

Definition at line 278 of file bsonelement.h.

const char* mongo::BSONElement::regexFlags (  )  const [inline]

Retrieve the regex flags (options) for a Regex element

Definition at line 284 of file bsonelement.h.

int mongo::BSONElement::size ( int  maxLen = -1  )  const [inline]

Size of the element.

Parameters:
maxLen If maxLen is specified, don't scan more than maxLen bytes to calculate size.

Definition at line 345 of file bson-inl.h.

string mongo::BSONElement::str (  )  const [inline]

Get the string value of the element. If not a string returns "".

Definition at line 228 of file bsonelement.h.

string mongo::BSONElement::String (  )  const [inline]

These functions, which start with a capital letter, throw a UserException if the element is not of the required type. Example:

string foo = obj["foo"].String(); // exception if not a string type or DNE

Definition at line 59 of file bsonelement.h.

unsigned int mongo::BSONElement::timestampInc (  )  const [inline]

Definition at line 346 of file bsonelement.h.

Date_t mongo::BSONElement::timestampTime (  )  const [inline]

Definition at line 342 of file bsonelement.h.

void mongo::BSONElement::toString ( StringBuilder s,
bool  includeFieldName = true,
bool  full = false 
) const [inline]

Definition at line 432 of file bson-inl.h.

string mongo::BSONElement::toString ( bool  includeFieldName = true,
bool  full = false 
) const [inline]

Definition at line 427 of file bson-inl.h.

bool mongo::BSONElement::trueValue (  )  const [inline]

Convert the value to boolean, regardless of its type, in a javascript-like fashion (i.e., treat zero and null as false).

Definition at line 459 of file bsonelement.h.

BSONType mongo::BSONElement::type (  )  const [inline]

Returns the type of the element

Definition at line 102 of file bsonelement.h.

void mongo::BSONElement::Val ( string &  v  )  const [inline]

Definition at line 89 of file bsonelement.h.

void mongo::BSONElement::Val ( double &  v  )  const [inline]

Definition at line 88 of file bsonelement.h.

void mongo::BSONElement::Val ( int &  v  )  const [inline]

Definition at line 87 of file bsonelement.h.

void mongo::BSONElement::Val ( mongo::OID v  )  const [inline]

Definition at line 86 of file bsonelement.h.

void mongo::BSONElement::Val ( BSONObj v  )  const [inline]

Definition at line 656 of file bson-inl.h.

void mongo::BSONElement::Val ( bool &  v  )  const [inline]

Definition at line 84 of file bsonelement.h.

void mongo::BSONElement::Val ( long long &  v  )  const [inline]

Definition at line 83 of file bsonelement.h.

void mongo::BSONElement::Val ( Date_t v  )  const [inline]

populate v with the value of the element. If type does not match, throw exception. useful in templates -- see also BSONObj::Vals().

Definition at line 82 of file bsonelement.h.

void mongo::BSONElement::validate (  )  const [inline]

Check that data is internally consistent.

Definition at line 306 of file bson-inl.h.

const char* mongo::BSONElement::value (  )  const [inline]

raw data of the element's value (so be careful).

Definition at line 141 of file bsonelement.h.

bool mongo::BSONElement::valuesEqual ( const BSONElement r  )  const [inline]

like operator== but doesn't check the fieldname, just the value.

Definition at line 292 of file bsonelement.h.

int mongo::BSONElement::valuesize (  )  const [inline]

size in bytes of the element's value (when applicable).

Definition at line 145 of file bsonelement.h.

const char* mongo::BSONElement::valuestr (  )  const [inline]

Get a string's value. Also gives you start of the real data for an embedded object. You must assure data is of an appropriate type first -- see also valuestrsafe().

Definition at line 219 of file bsonelement.h.

const char* mongo::BSONElement::valuestrsafe (  )  const [inline]

Get the string value of the element. If not a string returns "".

Definition at line 224 of file bsonelement.h.

int mongo::BSONElement::valuestrsize (  )  const [inline]

Size (length) of a string element. You must assure of type String first.

Definition at line 207 of file bsonelement.h.

int mongo::BSONElement::woCompare ( const BSONElement e,
bool  considerFieldName = true 
) const

Well ordered comparison.

Returns:
<0: l<r. 0:l==r. >0:l>r order by type, field name, and field value. If considerFieldName is true, pay attention to the field name.
BSONObj mongo::BSONElement::wrap ( const char *  newName  )  const [inline]

Wrap this element up as a singleton object with a new name.

Definition at line 84 of file bson-inl.h.

BSONObj mongo::BSONElement::wrap (  )  const [inline]

Wrap this element up as a singleton object.

Definition at line 78 of file bson-inl.h.


Friends And Related Function Documentation

friend class BSONObj [friend]

Definition at line 398 of file bsonelement.h.

friend class BSONObjIterator [friend]

Definition at line 397 of file bsonelement.h.


Member Data Documentation

const char* mongo::BSONElement::data [private]

Definition at line 388 of file bsonelement.h.

int mongo::BSONElement::fieldNameSize_ [mutable, private]

Definition at line 389 of file bsonelement.h.

int mongo::BSONElement::totalSize [mutable, private]

Definition at line 395 of file bsonelement.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


mongodb
Author(s): Nate Koenig
autogenerated on Fri Jan 11 12:15:53 2013