25#include <IceUtil/UUID.h>
27#include <mongo/client/dbclient.h>
36 iceId.name = IceUtil::generateUUID();
49 std::unique_lock lock(dbConnectionMutex);
50 return dbConn->count(ns);
56 std::unique_lock lock(dbConnectionMutex);
57 return dbConn->findByMongoId(ns,
id);
62 const std::string& fieldValue,
63 const Ice::Current&
c)
65 std::unique_lock lock(dbConnectionMutex);
66 return dbConn->findByFieldValue(ns, fieldName, fieldValue);
71 const std::string& fieldValue,
72 const Ice::Current&
c)
74 std::unique_lock lock(dbConnectionMutex);
75 return dbConn->findOneByFieldValue(ns, fieldName, fieldValue);
80 const NameList& fieldValueList,
81 const Ice::Current&
c)
83 std::unique_lock lock(dbConnectionMutex);
84 return dbConn->findByFieldValueList(ns, fieldName, fieldValueList);
90 std::unique_lock lock(dbConnectionMutex);
91 return dbConn->findOneByQuery(ns, query);
97 std::unique_lock lock(dbConnectionMutex);
98 return dbConn->findByQuery(ns, query);
103 const std::string& where,
106 std::unique_lock lock(dbConnectionMutex);
107 return dbConn->findByQuery(ns, query, where);
113 std::unique_lock lock(dbConnectionMutex);
114 return dbConn->findAll(ns);
120 std::unique_lock lock(dbConnectionMutex);
121 return dbConn->findAllUniqueByFieldName(ns, fieldName);
127 std::unique_lock lock(dbConnectionMutex);
128 return dbConn->findAllIds(ns);
134 std::unique_lock lock(dbConnectionMutex);
135 return dbConn->findAllFieldValues(ns, fieldName);
141 std::unique_lock lock(dbConnectionMutex);
142 return dbConn->insert(ns, obj);
145 std::vector<std::string>
148 std::unique_lock lock(dbConnectionMutex);
149 return dbConn->insertList(ns, objectList);
155 std::unique_lock lock(dbConnectionMutex);
156 return dbConn->update(ns, obj,
"_id");
161 const std::string& keyField,
162 const ::Ice::Current&
c)
164 std::unique_lock lock(dbConnectionMutex);
165 return dbConn->update(ns, obj, keyField);
170 const DBStorableData& obj,
171 const ::Ice::Current&
c)
173 return dbConn->updateByQuery(ns, query, mongo::fromjson(obj.JSON));
179 std::unique_lock lock(dbConnectionMutex);
180 return dbConn->insert(ns, obj,
true);
185 const std::string& keyField,
186 const Ice::Current&
c)
188 std::unique_lock lock(dbConnectionMutex);
189 return dbConn->update(ns, obj, keyField,
true);
195 std::unique_lock lock(dbConnectionMutex);
196 return dbConn->removeByMongoId(ns,
id);
201 const std::string& fieldValue,
202 const Ice::Current&
c)
204 std::unique_lock lock(dbConnectionMutex);
205 return dbConn->removeByFieldValue(ns, fieldName, fieldValue);
211 std::unique_lock lock(dbConnectionMutex);
212 return dbConn->removeByQuery(ns, query);
218 std::unique_lock lock(dbConnectionMutex);
219 return dbConn->clearCollection(ns);
225 std::unique_lock lock(dbConnectionMutex);
226 return dbConn->ensureIndex(ns, fieldName, unique);
EntityIdList findAllIds(const ::Ice::Current &=Ice::emptyCurrent) override
bool update(const DBStorableData &obj, const ::Ice::Current &=Ice::emptyCurrent) override
std::string save(const DBStorableData &obj, const ::Ice::Current &=Ice::emptyCurrent) override
Ice::Identity getIceId() const
Collection(const CommonStoragePtr &dbConn, const std::string &collNS)
DBStorableDataList findByQuery(const std::string &query, const ::Ice::Current &c) override
std::string getNS(const ::Ice::Current &=Ice::emptyCurrent) override
bool updateByQuery(const std::string &query, const DBStorableData &obj, const ::Ice::Current &=Ice::emptyCurrent) override
std::string insert(const DBStorableData &obj, const ::Ice::Current &=Ice::emptyCurrent) override
bool removeByQuery(const std::string &query, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableDataList findByFieldValueList(const std::string &fieldName, const NameList &fieldValueList, const ::Ice::Current &=Ice::emptyCurrent) override
bool clear(const ::Ice::Current &c) override
bool removeByFieldValue(const std::string &fieldName, const std::string &fieldValue, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableData findAllUniqueByFieldName(const std::string &fieldName, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableData findOneByFieldValue(const std::string &fieldName, const ::std::string &fieldValue, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableData findOneByQuery(const std::string &query, const ::Ice::Current &c) override
DBStorableDataList findAll(const ::Ice::Current &=Ice::emptyCurrent) override
NameList findAllFieldValues(const std::string &fieldName, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableDataList findByFieldValue(const std::string &fieldName, const ::std::string &fieldValue, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableData findByMongoId(const std::string &id, const ::Ice::Current &c) override
std::vector< std::string > insertList(const DBStorableDataList &objectList, const Ice::Current &=Ice::emptyCurrent) override
Ice::Int count(const ::Ice::Current &=Ice::emptyCurrent) override
bool removeByMongoId(const std::string &id, const ::Ice::Current &=Ice::emptyCurrent) override
bool saveWithUserKey(const DBStorableData &obj, const std::string &keyField, const ::Ice::Current &=Ice::emptyCurrent) override
DBStorableDataList findByConstraintQuery(const std::string &query, const std::string &where, const Ice::Current &) override
bool ensureIndex(const std::string &fieldName, bool unique, const ::Ice::Current &=Ice::emptyCurrent) override
bool updateWithUserKey(const DBStorableData &obj, const std::string &keyField, const ::Ice::Current &=Ice::emptyCurrent) override
IceUtil::Handle< CommonStorage > CommonStoragePtr