Last updated:
0 purchases
flutter local database
local_database #
Introduce #
The local database implemented in the provided Dart code is a simplified key-value store designed
for local data storage. It consists of three main classes: LocalDatabase, LCR (Local Collection
Reference), and LDR (Local Document Reference).
1. LocalDatabase: #
- Represents the entire local database.
- Utilizes a base map (`base`) to store data.
- Provides methods for CRUD operations within the database.
copied to clipboard
2. LCR (Local Collection Reference): #
- Represents a collection within the database.
- Offers methods to interact with documents within the collection.
- Supports operations such as adding, setting, updating, deleting documents, and obtaining all documents in the collection.
copied to clipboard
3. LDR (Local Document Reference): #
- Represents a document within the database.
- Provides methods for CRUD operations specific to a document.
- Supports setting, updating, deleting, and retrieving data from the document.
- Allows referencing subcollections within the document.
copied to clipboard
Example: #
void main() {
final database = LocalDatabase();
// Create new post (posts/post_id)
database.collection("posts").document("post_id").set({
"id": "post_id",
"title": "My First Blog Post",
"content": "This is my first ever blog post...",
"author_id": "1",
"category": "Technology",
"tags": ["programming", "javascript"],
"created_at": "2024-02-06T00:00:00Z",
"updated_at": "2024-02-06T00:00:00Z",
"published": true,
});
// Update post by id (posts/post_id)
database.collection("posts").document("post_id").update({
"title": "Updated Blog Post",
"content": "This post has been updated!",
});
// Delete post by id (posts/post_id)
database.collection("posts").document("post_id").delete();
// Retrieve post by id (posts/post_id)
database.collection("posts").document("post_id").get();
// Retrieve all post (posts)
database.collection("posts").get();
// Create new post comment (posts/post_id/comments/comment_id)
database.collection("posts").document("post_id").collection("comments").document("comment_id").set({
"id": "comment_id",
"post_id": "post_id",
"content": "Great post!",
"author_id": "2",
"created_at": "2024-02-06T00:00:00Z",
"likes": [],
"dislikes": [],
});
// Update post comment by id (posts/post_id/comments/comment_id)
database.collection("posts").document("post_id").collection("comments").document("comment_id").update({
"content": "This is updated comment!",
});
// Delete post comment by id (posts/post_id/comments/comment_id)
database.collection("posts").document("post_id").collection("comments").document("comment_id").delete();
// Retrieve post comment by id (posts/post_id/comments/comment_id)
database.collection("posts").document("post_id").collection("comments").document("comment_id").get();
// Retrieve all post comments (posts/post_id/comments)
database.collection("posts").document("post_id").collection("comments").get();
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.