SoraDBlite is a Python class designed to simplify interactions with MongoDB databases, the operation of SoraDBlite is similar to the pymongo. It is also a lite version of pymongo.Added Sora AI integration for error detection and solution.
Project description
SoraDBlite
🌐 contact me:
About
SoraDBlite is a Python class designed to simplify interactions with MongoDB databases. And the operation are similar to the mongodb, and it is easy to understand. It is just a lite version of mongodb. It providing the interface for performing essential CRUD (Create, Read, Update, Delete) operations. With SoraDBlite, developers can easily manage and manipulate data within their MongoDB collections, making it ideal for both simple and complex database tasks.
Key Features:
◘ Easy Connection Management: Simplifies connecting to MongoDB databases.
◘ CRUD Operations: Perform basic CRUD operations effortlessly.
-
Insert single or multiple documents.
-
Find single or multiple documents with flexible query options.
-
Update single or multiple documents.
-
Delete single or multiple documents.
-
Collection Management: Drop collections with ease.
◘ Sorting Capabilities: Sort documents by specified fields in ascending or descending order.
◘ Error Handling: Custom exceptions for better error.
◘ Sora AI integration: for error detection and solution.
How to get db url and collection
Video Tutorial
For a detailed video tutorial, check out this link: video
Differences Between pymongo and SoraDBlite
| Feature | pymongo | SoraDBlite |
|---|---|---|
| Library Type | Low-level MongoDB driver | High-level wrapper for pymongo |
| Usage | Directly interacts with MongoDB | Simplified methods for common operations |
| Flexibility | Complete control over MongoDB operations | Abstracts complexity, less granular control |
| Error Handling | Developers implement their own error handling | Built-in error handling |
| Code Complexity | More complex and verbose | User-friendly and concise |
Installation
Make sure you have SoraDBlite installed. You can install it using pip if you haven't already:
pip install SoraDBlite
Usage
Importing the Library
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
Importing the Exception class
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
try:
db.connect(db_url, db_password, db_collection)
except SoraDBLiteError as e:
print(e)
Importing the Exception Class and Using sora_ai()
Sora_ai() will given how to solve the error/ give the solution.
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
try:
db.connect(db_url, db_password, db_collection)
except SoraDBLiteError as e:
print(e)
db.sora_ai(e) # Pass the error message to sora_ai() for a solution
Connecting to the Database
To connect to your MongoDB database, use the connect method:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
Inserting Documents
Insert a single document:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
document = {"name": "Alice", "age": 30, "city": "New York"}
inserted_id = db.insert_one(document)
print("Inserted document with ID:", inserted_id)
Insert multiple documents:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
documents = [
{"name": "Alice", "age": 30, "city": "New York"},
{"name": "Bob", "age": 25, "city": "Los Angeles"},
{"name": "Charlie", "age": 35, "city": "Chicago"}
]
inserted_ids = db.insert_many(documents)
print("Inserted document IDs:", inserted_ids)
Finding Documents
Find a single document:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
query = {"name": "Alice"}
result = db.find_one(query)
print("Found document:", result)
Find multiple documents:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
query = {"age": {"$gt": 25}}
results = db.find_many(query)
print("Found documents:", results)
Updating Documents
Update a single document:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
filter = {"name": "Alice"}
update = {"$set": {"city": "Los Angeles"}}
updated_count = db.update_one(filter, update)
print("Updated documents:", updated_count)
Update multiple documents:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
filter = {"city": "New York"}
update = {"$set": {"city": "New York City"}}
updated_count = db.update_many(filter, update)
print("Updated documents:", updated_count)
Deleting Documents
Delete a single document:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
filter = {"name": "Alice"}
deleted_count = db.delete_one(filter)
print("Deleted documents:", deleted_count)
Delete multiple documents:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
filter = {"age": {"$lt": 25}}
deleted_count = db.delete_many(filter)
print("Deleted documents:", deleted_count)
Sorting Documents
Sort documents by a field in ascending order:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
results = db.sort_by("age", True)
print("Sorted by age (ascending):", results)
Sort documents by a field in descending order:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
results = db.sort_by("name", False)
print("Sorted by name (descending):", results)
Dropping a Collection
To drop a collection, use the drop_collection method:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
db.drop_collection("soradb")
print("Collection 'soradb' dropped successfully.")
counting the documents
Get the count of the documents:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
count = db.count({"name":"Alice"})
print(count)
Fetch all values
Fetch all values for a specific key name:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
d=db.fetch_values_by_key("name")
print(d)
Get the version
Get the version of pymongo and soradb:
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
db.version()
Example Code
import SoraDBlite
from SoraDBlite import SoraDBlite, SoraDBLiteError
db_url = "your_mongodb_url"
db_password = "your_db_password"
db_collection = "your_db_collection"
db = SoraDBlite()
db.connect(db_url, db_password, db_collection)
# Insert a document
document = {"name": "Alice", "age": 30, "city": "New York"}
inserted_id = db.insert_one(document)
print("Inserted document with ID:", inserted_id)
# Find a document
query = {"name": "Alice"}
result = db.find_one(query)
print("Found document:", result)
# Find multiple documents
query = {"age": {"$gt": 25}}
results = db.find_many(query)
print("Found documents:", results)
# Update a document
filter = {"name": "Alice"}
update = {"$set": {"city": "Los Angeles"}}
updated_count = db.update_one(filter, update)
print("Updated documents:", updated_count)
# Delete a document
filter = {"name": "Alice"}
deleted_count = db.delete_one(filter)
print("Deleted documents:", deleted_count)
# Insert multiple documents
documents = [
{"name": "Alice", "age": 30, "city": "New York"},
{"name": "Bob", "age": 25, "city": "Los Angeles"},
{"name": "Charlie", "age": 35, "city": "Chicago"}
]
inserted_ids = db.insert_many(documents)
print("Inserted document IDs:", inserted_ids)
# Find multiple documents
query = {"age": {"$gt": 25}}
results = db.find_many(query)
print("Found documents:", results)
# Update multiple documents
filter = {"city": "New York"}
update = {"$set": {"city": "New York City"}}
updated_count = db.update_many(filter, update)
print("Updated documents:", updated_count)
# Delete multiple documents
filter = {"age": {"$lt": 25}}
deleted_count = db.delete_many(filter)
print("Deleted documents:", deleted_count)
# Sort documents by age
results = db.sort_by("age", True)
print("Sorted by age (ascending):", results)
# Sort documents by name
results = db.sort_by("name", False)
print("Sorted by name (descending):", results)
# Count the documents
count = db.count({"name":"Alice"})
print(count)
# Fetch all values for a specific key
d = db.fetch_values_by_key("name")
print(d)
#Get the version of pymongo and soradb
db.version()
# Drop a collection
db.drop_collection("soradb")
print("Collection 'soradb' dropped successfully.")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file SoraDBlite-1.1.4.tar.gz.
File metadata
- Download URL: SoraDBlite-1.1.4.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd260c5cdf74562c7c6ff01fa2b052b13d573f5154826bbcab611b2960fdb227
|
|
| MD5 |
21854581f8fcf63aabbc8c584786afb1
|
|
| BLAKE2b-256 |
6e2e6e7c5569acb5414c653e92270ac926f98855b7f1c2b259dc2d88667c8b78
|
File details
Details for the file SoraDBlite-1.1.4-py3-none-any.whl.
File metadata
- Download URL: SoraDBlite-1.1.4-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b489219494c5e00fc40a3b5351d4015ceb1770df5ea234db8dbbf47a3cac1a15
|
|
| MD5 |
b62e41c153d0afe126ae677b4046753c
|
|
| BLAKE2b-256 |
89b2722f8db8ee4162b6e73d686ed2cf611ee9ca1fbef32a79cc78c97ae7b729
|