Esempio n. 1
0
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;
}