Python编程TinyDB库MongoBD的简易替代

网友投稿 908 2022-05-29

TinyDB 是一个轻量级的文档数据库,操作类似MongoBD,其存储方式为Json

文档:https://tinydb.readthedocs.io/en/latest/index.html

github:https://github.com/msiemens/tinydb

代码示例

# -*- coding: utf-8 -*- from tinydb import TinyDB, Query db = TinyDB('db.json') student = db.table("student") # 插入数据 student.insert({"name": "Tom", "age": 23}) # 插入多条 student.insert_multiple([ {"name": "Jack", "age": 24}, {"name": "mary", "age": 25} ]) # 查询所有 print(student.all()) [ {'name': 'Tom', 'age': 23}, {'name': 'Jack', 'age': 24}, {'name': 'mary', 'age': 25} ] # 查询部分 query = Query() result = student.search(query.name == 'Tom') print(result) # [{'name': 'Tom', 'age': 23}] result = student.search(query.age > 24) print(result) # [{'name': 'mary', 'age': 25}] # 逻辑查询 db.search(~ (User.name == 'John')) # Negate db.search((User.name == 'John') & (User.age <= 30)) # And db.search((User.name == 'John') | (User.name == 'Bob')) # Or # 更新 student.update({'age': 26}, query.name == "Tom") print(student.search(query.name=="Tom")) # [{'name': 'Tom', 'age': 26}] # 删除 student.remove(query.age < 25) print(student.all()) # [{'name': 'Tom', 'age': 26}, {'name': 'mary', 'age': 25}] # 关闭 db.close()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Python编程:TinyDB库MongoBD的简易替代

49

50

51

52

53

54

打开目录下的db.json, 查看其存储格式

{ "_default":{ }, "student":{ "1":{ "name":"Tom", "age":26 }, "3":{ "name":"mary", "age":25 } } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:运行时数据区中包含哪些区域?哪些线程共享?哪些线程独享?
下一篇:XGBoost类库使用小结
相关文章