HadiDB is a lightweight, highly horizontally scalable database written in Python.
pip install hadidb
Creates a new user with the example
username admin
and example
password admin
using createUser()
. It then authenticates the same user by calling the authentication()
method.
from HadiDB.operation import User
user = User("admin", "admin")
user.createUser() # Creating a new user in the HadiDB
user.authentication() # Authenticating the HadiDB user
{'status': 200, 'message': 'Database user Created'}
This code sets up user credentials and a schema for a database collection. It initializes a database operation using the Operation
class with the specified username
, password
, database
, and collection
. Finally, it inserts the provided data
into the collection and stores the result.
from HadiDB.operation import Operation
username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"
schema = {
"username":"Unique",
"password":"Hash",
"cnic":"Unique",
"picture":"Image",
"bio":"Text"
}
db = Operation(username,password,database,collection)
db.create_database(schema)
Insert Data into the Collection use db.insert(data)
inserts the data
into the specified database collection.
from HadiDB.operation import Operation
username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"
db = Operation(username,password,database,collection)
data = {
"username":"hadidb",
"password":"12345",
"cnic":"123232442",
"picture":"user/my/hadidb.jpg",
"bio":"HadiDB is the Best ;)"
}
result = db.insert(data)
print(result)
{
'status': 200,
'message': 'Data insert successfully',
'data': {
'username': 'hadidb',
'password': '12345',
'cnic': '123232442',
'picture': 'user/my/hadidb.jpg',
'bio': 'HadiDB is the Best ;)',
'id': 1
}
}
Update Data db.update(1, update_data)
updates the record with the ID 1
in the database using the provided update_data
.
from HadiDB.operation import Operation
username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"
db = Operation(username,password,database,collection)
update_data = {
"username": "hadidb_update",
"password": "123455",
"cnic": "1232324423",
"picture": "user/my/hadidb1.jpg",
"bio": "HadiDB is the Best ;) update bio"
}
result = db.update(1,update_data)
print(result)
{
'status': 200,
'message': 'Data Update successfully',
'data': {
'username': 'hadidb_update',
'password': '123455',
'cnic': '1232324423',
'picture': 'user/my/hadidb1.jpg',
'bio': 'HadiDB is the Best ;) update bio',
'id': 1
}
}
The unique identifier (ID) of the document you want to retrieve specific object or an error if the document does not exist.
result = db.getbyID(1)
print(result)
The getAll
method retrieves all documents from the specified collection in the database.
result = db.getAll()
print(result)
The getbykey
method retrieves all documents from the database where the specified key-value pair matches. Not Support multi keys values pairs
result = db.getbykey({
"username":"momin"
})
print(result)
The getbykeys function uses an implicit AND (&&)
operation. Both conditions Example (cnic and bio)
if matched key values in the database then return the matched object.
result = db.getbykeys({
"cnic":"123232442",
"bio":"HadiDB is the Best ;) update bio"
})
print(result)
The count
method returns the total number of documents (or objects) present in the specified collection in the database.
result = db.count()
print(result)
{'status': 200, 'count': 1}
The getbykeyCount
method counts the number of documents in the collection where the specified key-value pair matches.
result = db.getbykeyCount({
"username":"momin"
})
Deletes a document from the database by its unique identifier (id
)
result = db.delete(1)
print(result)
{'status': 200, 'message': 'data delete successful'}
Retrieves all available databases by using the get_database()
method of the Configuration
class
from HadiDB.operation import Configuration
print(Configuration().get_database())
Retrieves all collections from a specific database using the get_collection()
method of the Configuration
class.
from HadiDB.operation import Configuration
database = "mefiz.com"
print(Configuration(database).get_collection())
Return Schema of a specific collection by using get_schema()
method from the Configuration
class.
from HadiDB.operation import Configuration
database = "mefiz.com"
collection = "authUser"
print(Configuration(database,collection).get_schema())
Deletes a specific collection from a database using the deleteCollection()
method of the DatabaseDeletionService
class.
from HadiDB.operation import DatabaseDeletionService
db = DatabaseDeletionService(username,password,database,collection)
print(db.deleteCollection())
Deletes Database using the deleteDatabase()
method of the DatabaseDeletionService
class.
from HadiDB.operation import DatabaseDeletionService
db = DatabaseDeletionService(username,password,database,collection)
print(db.deleteDatabase())