From d356ed86c25bc28955c99c2963891c58a6d69ea2 Mon Sep 17 00:00:00 2001 From: Anton Sychev Date: Thu, 11 Jan 2024 13:54:29 +0100 Subject: [PATCH] feature: update documentation feature: adde samples --- README.md | 16 ++++++- Samples/queries.py | 102 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 Samples/queries.py diff --git a/README.md b/README.md index f01be63..bc0b9c3 100644 --- a/README.md +++ b/README.md @@ -107,10 +107,24 @@ Find and retrieve records, in a collection. ```python rs.get(collection="delete_fodders1") + # or rs.get("delete_fodders1") -# Get wildcar + +# Get wildcard rs.get("delete_*") + +# Get wildcard in collection +rs.get("*") + +# Get wildcard in key (see sample in Samples/queries.py) +rs.get("delete_fodders1", "*") + +# Get only auto incremented rows (see sample in Samples/queries.py) +rs.get("delete_fodders1", "?") + +# get only keys +rs.get("delete_fodders1", "*", Rocketstore._KEYS) ``` __Collection__ to search. If no collection name is given, get will return a list of data base assets: collections and sequences etc. diff --git a/Samples/queries.py b/Samples/queries.py new file mode 100644 index 0000000..a771560 --- /dev/null +++ b/Samples/queries.py @@ -0,0 +1,102 @@ +""" +█▀ █▄█ █▀▀ █░█ █▀▀ █░█ +▄█ ░█░ █▄▄ █▀█ ██▄ ▀▄▀ + +Author: (anton at sychev dot xyz) +queries.py (c) 2024 +Created: 2024-01-11 20:49:20 +Desc: queries samples +Docs: documentation +""" + + +import os +from Rocketstore import Rocketstore + +rs = Rocketstore(**{"data_storage_area": os.path.join(os.getcwd(), "rwdb")}) + +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "", + {"content": "global item"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "", + {"content": "global item 2"}, + Rocketstore._ADD_AUTO_INC, +) + +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 1"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 2"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 3"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 4"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 5"}, + Rocketstore._ADD_AUTO_INC, +) +rs.post( + "bl_54e2e7228e9e44ec9e17e7848759e867", + "ses_784dac38ee0c4f709bddc0deb0b421bd", + {"content": "user session 6"}, + Rocketstore._ADD_AUTO_INC, +) + + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867") +""" +{'count': 7, 'key': ['6-ses_784dac38ee0c4f709bddc0deb0b421bd', '7-ses_784dac38ee0c4f709bddc0deb0b421bd', '1', '5-ses_784dac38ee0c4f709bddc0deb0b421bd', '3-ses_784dac38ee0c4f709bddc0deb0b421bd', '4-ses_784dac38ee0c4f709bddc0deb0b421bd', '2'], 'result': [{'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'global item'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'global item 2'}]} +""" + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", + "*ses_784dac38ee0c4f709bddc0deb0b421bd") +""" +{'count': 5, 'key': ['6-ses_784dac38ee0c4f709bddc0deb0b421bd', '7-ses_784dac38ee0c4f709bddc0deb0b421bd', '5-ses_784dac38ee0c4f709bddc0deb0b421bd', '3-ses_784dac38ee0c4f709bddc0deb0b421bd', '4-ses_784dac38ee0c4f709bddc0deb0b421bd'], 'result': [{'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'user session 1'}]} +""" + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", "*") +""" +{'count': 7, 'key': ['6-ses_784dac38ee0c4f709bddc0deb0b421bd', '7-ses_784dac38ee0c4f709bddc0deb0b421bd', '1', '5-ses_784dac38ee0c4f709bddc0deb0b421bd', '3-ses_784dac38ee0c4f709bddc0deb0b421bd', '4-ses_784dac38ee0c4f709bddc0deb0b421bd', '2'], 'result': [{'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'global item'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'user session 1'}, {'content': 'global item 2'}]} +""" + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", "?", Rocketstore._KEYS) +""" +{'count': 2, 'key': ['1', '2']} +""" + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", "*", Rocketstore._KEYS) +""" +{'count': 7, 'key': ['6-ses_784dac38ee0c4f709bddc0deb0b421bd', '7-ses_784dac38ee0c4f709bddc0deb0b421bd', '1', '5-ses_784dac38ee0c4f709bddc0deb0b421bd', '3-ses_784dac38ee0c4f709bddc0deb0b421bd', '4-ses_784dac38ee0c4f709bddc0deb0b421bd', '2']} +""" + +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", "?", Rocketstore._KEYS) +""" +{'count': 2, 'key': ['1', '2']} +""" +rs.get("bl_54e2e7228e9e44ec9e17e7848759e867", "?") +""" +{'count': 2, 'key': ['1', '2'], 'result': [{'content': 'global item'}, {'content': 'global item 2'}]} +"""