39 #ifndef WAREHOUSE_ROS_MONGO_MESSAGE_COLLECTION_H 40 #define WAREHOUSE_ROS_MONGO_MESSAGE_COLLECTION_H 56 const std::string& collection_name);
101 void listMetadata(mongo::Query& mquery, std::vector<mongo::BSONObj>& metas);
113 std::shared_ptr<mongo::DBClientConnection>
conn_;
114 std::shared_ptr<mongo::GridFS>
gfs_;
122 #endif // include guard MongoMessageCollection(const std::shared_ptr< mongo::DBClientConnection > &conn, const std::string &db_name, const std::string &collection_name)
std::shared_ptr< mongo::GridFS > gfs_
void modifyMetadata(Query::ConstPtr q, Metadata::ConstPtr m)
Modify metadata Find message matching q and update its metadata using m In other words, overwrite keys in the message using m, but keep keys that don't occur in m.
MongoMetadata & downcastMetadata(Metadata::ConstPtr metadata) const
unsigned removeMessages(Query::ConstPtr query)
Remove messages matching query.
Metadata::Ptr createMetadata() const
boost::shared_ptr< Query > Ptr
bool initialize(const std::string &datatype, const std::string &md5)
void insert(char *msg, size_t msg_size, Metadata::ConstPtr metadata)
Insert a ROS message, together with some optional metadata, into the db.
void listMetadata(mongo::Query &mquery, std::vector< mongo::BSONObj > &metas)
Represents a query to the db.
Query::Ptr createQuery() const
std::shared_ptr< mongo::DBClientConnection > conn_
std::string collectionName() const
Return name of collection.
MongoQuery & downcastQuery(Query::ConstPtr query) const
unsigned count()
Count messages in collection.
ResultIteratorHelper::Ptr query(Query::ConstPtr query, const std::string &sort_by, bool ascending) const
void ensureIndex(const std::string &field)