Skip to content

PysonDB-V2

Quick walk through of all the methods

from pysondb import PysonDB


db = PysonDB('test.json')
!cat test.json
{
    "version": 2,
    "keys": [],
    "data": {}
}

add

1
2
3
4
5
6
id = db.add({
    'name': 'adwaith',
    'age': 4,
    'knows_python': True
})
print(id)
231541323453553701
!cat test.json
{
    "version": 2,
    "keys": [
        "age",
        "knows_python",
        "name"
    ],
    "data": {
        "231541323453553701": {
            "name": "adwaith",
            "age": 4,
            "knows_python": true
        }
    }
}

add_many

added_values = db.add_many([
    {
        'name': 'fredy',
        'age': 19,
        'knows_python': True
    },
    {
        'name': 'kenny',
        'age': 19,
        'knows_python': False
    }
])
print(added_values)
None
added_values = db.add_many([
    {
        'name': 'mathew',
        'age': 22,
        'knows_python': False
    },
    {
        'name': 'abi',
        'age': 19,
        'knows_python': True
    }
], json_response=True)
print(added_values)
{'330993934764646664': {'name': 'mathew', 'age': 22, 'knows_python': False}, '131457970736078364': {'name': 'abi', 'age': 19, 'knows_python': True}}
!cat test.json
{
    "version": 2,
    "keys": [
        "age",
        "knows_python",
        "name"
    ],
    "data": {
        "231541323453553701": {
            "name": "adwaith",
            "age": 4,
            "knows_python": true
        },
        "263597723557497291": {
            "name": "fredy",
            "age": 19,
            "knows_python": true
        },
        "299482429835276227": {
            "name": "kenny",
            "age": 19,
            "knows_python": false
        },
        "330993934764646664": {
            "name": "mathew",
            "age": 22,
            "knows_python": false
        },
        "131457970736078364": {
            "name": "abi",
            "age": 19,
            "knows_python": true
        }
    }
}

get_by_id

print(db.get_by_id('263597723557497291'))
{'name': 'fredy', 'age': 19, 'knows_python': True}

get_by_query

1
2
3
4
5
def age_divisible_by_2(data):
    if data['age'] % 2 == 0:
        return True

print(db.get_by_query(query=age_divisible_by_2))
{'231541323453553701': {'name': 'adwaith', 'age': 4, 'knows_python': True}, '330993934764646664': {'name': 'mathew', 'age': 22, 'knows_python': False}}

get_all

print(db.get_all())
{
   "231541323453553701":{
      "name":"adwaith",
      "age":4,
      "knows_python":true
   },
   "263597723557497291":{
      "name":"fredy",
      "age":19,
      "knows_python":true
   },
   "299482429835276227":{
      "name":"kenny",
      "age":19,
      "knows_python":false
   },
   "330993934764646664":{
      "name":"mathew",
      "age":22,
      "knows_python":false
   },
   "131457970736078364":{
      "name":"abi",
      "age":19,
      "knows_python":true
   }
}

update_by_id

1
2
3
4
updated_data = db.update_by_id('231541323453553701', {
    'age': 18
})
print(updated_data)
{'name': 'adwaith', 'age': 18, 'knows_python': True}

update_by_query

1
2
3
4
5
updated_ids = db.update_by_query(
    query=lambda x: x['name'] == 'abi',
    new_data={'knows_python': False}
)
print(updated_ids)
['131457970736078364']
!cat test.json
{
    "version": 2,
    "keys": [
        "age",
        "knows_python",
        "name"
    ],
    "data": {
        "231541323453553701": {
            "name": "adwaith",
            "age": 18,
            "knows_python": true
        },
        "263597723557497291": {
            "name": "fredy",
            "age": 19,
            "knows_python": true
        },
        "299482429835276227": {
            "name": "kenny",
            "age": 19,
            "knows_python": false
        },
        "330993934764646664": {
            "name": "mathew",
            "age": 22,
            "knows_python": false
        },
        "131457970736078364": {
            "name": "abi",
            "age": 19,
            "knows_python": false
        }
    }
}

delete_by_id

db.delete_by_id('131457970736078364')  # delete abi
!cat test.json
{
    "version": 2,
    "keys": [
        "age",
        "knows_python",
        "name"
    ],
    "data": {
        "231541323453553701": {
            "name": "adwaith",
            "age": 18,
            "knows_python": true
        },
        "263597723557497291": {
            "name": "fredy",
            "age": 19,
            "knows_python": true
        },
        "299482429835276227": {
            "name": "kenny",
            "age": 19,
            "knows_python": false
        },
        "330993934764646664": {
            "name": "mathew",
            "age": 22,
            "knows_python": false
        }
    }
}

delete_by_query

ids = db.delete_by_query(lambda x: x['knows_python'] is False)
print(ids)
['299482429835276227', '330993934764646664']
!cat test.json
{
    "version": 2,
    "keys": [
        "age",
        "knows_python",
        "name"
    ],
    "data": {
        "231541323453553701": {
            "name": "adwaith",
            "age": 18,
            "knows_python": true
        },
        "263597723557497291": {
            "name": "fredy",
            "age": 19,
            "knows_python": true
        }
    }
}

purge

db.purge()
!cat test.json
{
    "version": 2,
    "keys": [],
    "data": {}
}

For more docs click here

Back to top