bool GameCore::ConnectToDB() { if(dbClient) return true; dbClient = MongodbClient::Create(DATABASE_IP, DATAPASE_PORT); if(dbClient) { dbClient->SetDatabaseName(DATABASE_NAME); dbClient->SetCollectionName(DATABASE_COLLECTION); MongodbObject *globalIdObject = dbClient->FindObjectByKey("GlobalTestId"); if(globalIdObject) currentRunId = globalIdObject->GetInt32("LastTestId") + 1; MongodbObject * newGlobalIdObject = new MongodbObject(); newGlobalIdObject->SetObjectName("GlobalTestId"); newGlobalIdObject->AddInt32("LastTestId", currentRunId); newGlobalIdObject->Finish(); dbClient->SaveObject(newGlobalIdObject, globalIdObject); SafeRelease(newGlobalIdObject); SafeRelease(globalIdObject); } else { Logger::Debug("Can't connect to DB"); } return (dbClient != NULL); }
int32 MongodbClient::GetBinarySize(const String &key) { int32 retSize = 0; MongodbObject *object = FindObjectByKey(key); if(object) { retSize = object->GetInt32(String("DataSize")); SafeRelease(object); } else { Logger::Error("[MongodbClient] Can't find binary to get size."); } return retSize; }