mongo::ModSet Class Reference
#include <update.h>
List of all members.
Public Member Functions |
BSONObj | createNewFromQuery (const BSONObj &query) |
ModSet * | fixDynamicArray (const char *elemMatchKey) const |
bool | hasDynamicArray () const |
bool | haveConflictingMod (const string &fieldName) |
bool | haveModForField (const char *fieldName) const |
int | isIndexed () const |
| ModSet (const BSONObj &from, const set< string > &idxKeys=set< string >(), const set< string > *backgroundKeys=0) |
auto_ptr< ModSetState > | prepare (const BSONObj &obj) const |
unsigned | size () const |
Private Types |
typedef map< string, Mod > | ModHolder |
Private Member Functions |
FieldCompareResult | compare (const ModHolder::iterator &m, map< string, BSONElement >::iterator &p, const map< string, BSONElement >::iterator &pEnd) const |
bool | mayAddEmbedded (map< string, BSONElement > &existing, string right) |
| ModSet () |
void | updateIsIndexed (const Mod &m, const set< string > &idxKeys, const set< string > *backgroundKeys) |
Static Private Member Functions |
static void | extractFields (map< string, BSONElement > &fields, const BSONElement &top, const string &base) |
static Mod::Op | opFromStr (const char *fn) |
Private Attributes |
bool | _hasDynamicArray |
int | _isIndexed |
ModHolder | _mods |
Detailed Description
stores a set of Mods once created, should never be changed
Definition at line 242 of file update.h.
Member Typedef Documentation
Constructor & Destructor Documentation
mongo::ModSet::ModSet |
( |
|
) |
[inline, private] |
mongo::ModSet::ModSet |
( |
const BSONObj & |
from, |
|
|
const set< string > & |
idxKeys = set< string >() , |
|
|
const set< string > * |
backgroundKeys = 0 | |
|
) |
| | |
Member Function Documentation
given a query pattern, builds an object suitable for an upsert will take the query spec and combine all $ operators
static void mongo::ModSet::extractFields |
( |
map< string, BSONElement > & |
fields, |
|
|
const BSONElement & |
top, |
|
|
const string & |
base | |
|
) |
| | [static, private] |
ModSet* mongo::ModSet::fixDynamicArray |
( |
const char * |
elemMatchKey |
) |
const |
bool mongo::ModSet::hasDynamicArray |
( |
|
) |
const [inline] |
bool mongo::ModSet::haveConflictingMod |
( |
const string & |
fieldName |
) |
[inline] |
bool mongo::ModSet::haveModForField |
( |
const char * |
fieldName |
) |
const [inline] |
int mongo::ModSet::isIndexed |
( |
|
) |
const [inline] |
bool mongo::ModSet::mayAddEmbedded |
( |
map< string, BSONElement > & |
existing, |
|
|
string |
right | |
|
) |
| | [inline, private] |
static Mod::Op mongo::ModSet::opFromStr |
( |
const char * |
fn |
) |
[inline, static, private] |
creates a ModSetState suitable for operation on obj doesn't change or modify this ModSet or any underying Mod
unsigned mongo::ModSet::size |
( |
|
) |
const [inline] |
void mongo::ModSet::updateIsIndexed |
( |
const Mod & |
m, |
|
|
const set< string > & |
idxKeys, |
|
|
const set< string > * |
backgroundKeys | |
|
) |
| | [inline, private] |
Member Data Documentation
The documentation for this class was generated from the following file: