39 #ifndef WAREHOUSE_ROS_MONGO_METADATA_H 40 #define WAREHOUSE_ROS_MONGO_METADATA_H 45 #include <malloc/malloc.h> 50 #include <warehouse_ros_mongo/config.h> 52 #include <mongo/db/json.h> 57 using mongo::BSONObjBuilder;
83 builder_->appendElements(mongo::fromjson(json.c_str()));
92 BSONObj::operator=(builder_->asTempObj());
120 void append(
const std::string& name,
const std::string& val)
126 void append(
const std::string& name,
const double val)
132 void append(
const std::string& name,
const int val)
138 void append(
const std::string& name,
const bool val)
144 void appendLT(
const std::string& name,
const double val)
146 *
builder_ << name << mongo::LT << val;
150 void appendLT(
const std::string& name,
const int val)
152 *
builder_ << name << mongo::LT << val;
156 void appendLTE(
const std::string& name,
const double val)
158 *
builder_ << name << mongo::LTE << val;
164 *
builder_ << name << mongo::LTE << val;
168 void appendGT(
const std::string& name,
const double val)
170 *
builder_ << name << mongo::GT << val;
174 void appendGT(
const std::string& name,
const int val)
176 *
builder_ << name << mongo::GT << val;
180 void appendGTE(
const std::string& name,
const double val)
182 *
builder_ << name << mongo::GTE << val;
188 *
builder_ << name << mongo::GTE << val;
192 void appendRange(
const std::string& name,
const double lower,
const double upper)
194 *
builder_ << name << mongo::GT << lower << mongo::LT << upper;
198 void appendRange(
const std::string& name,
const int lower,
const int upper)
200 *
builder_ << name << mongo::GT << lower << mongo::LT << upper;
206 *
builder_ << name << mongo::GTE << lower << mongo::LTE << upper;
212 *
builder_ << name << mongo::GTE << lower << mongo::LTE << upper;
247 void append(
const std::string& name,
const std::string& val)
253 void append(
const std::string& name,
const double val)
259 void append(
const std::string& name,
const int val)
265 void append(
const std::string& name,
const bool val)
273 return getStringField(name.c_str());
279 (*this)[name.c_str()].Val(d);
285 return getIntField(name.c_str());
290 return getBoolField(name.c_str());
295 return BSONObj::hasField(name.c_str());
300 std::set<std::string> fields;
301 BSONObj::getFieldNames(fields);
315 #endif // include guard void append(const std::string &name, const std::string &val)
void appendGT(const std::string &name, const double val)
std::shared_ptr< BSONObjBuilder > builder_
WrappedBSON(const std::string &json)
ROSCONSOLE_DECL void initialize()
WrappedBSON(const BSONObj &other)
void appendGT(const std::string &name, const int val)
MongoQuery(const MongoQuery &other)
void appendRangeInclusive(const std::string &name, const double lower, const double upper)
void appendLTE(const std::string &name, const double val)
void appendRangeInclusive(const std::string &name, const int lower, const int upper)
void append(const std::string &name, const int val)
MongoQuery(const BSONObj &other)
Represents a query to the db.
void appendGTE(const std::string &name, const int val)
void appendLT(const std::string &name, const int val)
void append(const std::string &name, const double val)
WrappedBSON(const WrappedBSON &other)
void appendGTE(const std::string &name, const double val)
void appendRange(const std::string &name, const double lower, const double upper)
void appendLT(const std::string &name, const double val)
void appendRange(const std::string &name, const int lower, const int upper)
void append(const std::string &name, const bool val)
void appendLTE(const std::string &name, const int val)