Легкая база данных для Python

Работа с массивными данными JSON в Python действительно удручает. Допустим, у вас есть около тысячи данных, хранящихся в JSON-файле, и вы хотите провести поиск по определенным данным. Я знаю, думать об этом как-то… Обычно вы просто выполняете цикл for.

for i in data.items():
    if i["name"] == "John Doe":
        print("Finally, found you!")
Вход в полноэкранный режим Выйти из полноэкранного режима

Но есть простой способ сделать это. Благодаря LemonDB. Просто инициализируйте объект базы данных lemon и выполните встроенную операцию.

from lemondb import LemonDB
db = LemonDB('test.json')

# You can use dict queries
db.find_one({'name': 'John Doe'})

# Or just built-in search queries
from lemondb import Query; query = Query()
db.find_one(query.name == 'John Doe')

# Lambda function is also supported
db.find_one(lambda x: x['name'] == 'John Doe')
Войти в полноэкранный режим Выйти из полноэкранного режима

Но это все — нет, есть еще кое-что. В предыдущем выпуске LemonDB теперь поддерживает различные типы объектов, такие как datetime, и многое другое, что обычный JSON не может правильно сериализовать. Не верите мне? Вот пример:

from lemondb import LemonDB
from datetime import datetime

db = LemonDB('test.json')
db.insert({'name': 'John Doe', 'created-at': datetime.now()})

# Filtering the item
print(db.find_one({'name': 'John Doe'})['created-at'])
# ...
Войдите в полноэкранный режим Выход из полноэкранного режима

Откровенно говоря, LemonDB — это документо-ориентированная база данных, похожая на mongodb или любую другую базу данных, основанную на ключевых значениях. На самом деле, lemondb была вдохновлена mongodb, но более легковесной, с около <= 1000 строк кода в целом. — тип базы данных NoSQL, в которой данные хранятся в двоичных файлах документов. Этот тип базы данных связывает каждый документ с уникальным ключом, который принимает форму строки, пути или URI. Ключи используются для поиска и извлечения отдельных документов из базы данных.

Дополнительную информацию можно найти @ Github

Оцените статью
devanswers.ru
Добавить комментарий