46 - 将xml文档保存在MongoDB数据库

网友投稿 512 2022-05-29

1. 请解释什么是NoSQL数据库,有哪些类型的NoSQL数据库,请说出这些数据库的典型产品,以及每个类型的NoSQL数据库的适用场景

NoSQL: Not Only SQL

键值(key-value)数据库

Redis、Riak、Memcached

适用场景: 用来存储用户信息,比如会员、配置文件、参数、购物车等

文档(Document-Oriented)类型

MongoDB

CouchDB

RavenDB

适用场景: 日志、分析数据

列存储数据库

HBase

Cassandra

适用场景: 日志、博客平台。 标签可以存储到一列、类别可以存储到另一列、文章可以存储到另外一列

图数据库

Neo4J

OrientDB

适用场景

在一些关系型强的数据库可以使用

推荐引擎

2. 将xml文档保存到MongoDB数据库中,并查询文档中的数据

products.xml

10000 iphone9 9999 20000 特斯拉 800000 30000 Mac Pro 40000

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

46 - 将xml文档保存在MongoDB数据库中

19

20

''' pip install pymongo ''' from pymongo import * Client = MongoClient() db = Client.data products = db.products products.delete_many({'price':{'$gt': 0}}) import xmltodict f = open('products.xml', 'rt', encoding='utf-8') xml = f.read() f.close() print(xml) d = xmltodict.parse(xml) productList = d['root']['products']['product'] print(productList) for product in productList: product['price'] = int(product['price']) productId = products.insert_one(product).inserted_id print(productId) for product in products.find({'price': {'$gt':10000}}): print(product)

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

10000 iphone9 9999 20000 特斯拉 800000 30000 Mac Pro 40000 [OrderedDict([('@uuid', '1234'), ('id', '10000'), ('name', 'iphone9'), ('price', '9999')]), OrderedDict([('@uuid', '4321'), ('id', '20000'), ('name', '特斯拉'), ('price', '800000')]), OrderedDict([('@uuid', '5678'), ('id', '30000'), ('name', 'Mac Pro'), ('price', '40000')])] 5e5e77236a8c0732e4edc4e4 5e5e77236a8c0732e4edc4e5 5e5e77236a8c0732e4edc4e6 {'_id': ObjectId('5e5e77236a8c0732e4edc4e5'), '@uuid': '4321', 'id': '20000', 'name': '特斯拉', 'price': 800000} {'_id': ObjectId('5e5e77236a8c0732e4edc4e6'), '@uuid': '5678', 'id': '30000', 'name': 'Mac Pro', 'price': 40000}

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

持续更新中。。。。

MongoDB XML 数据库

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

上一篇:Python 前端开发之CSS标准文档流及元素
下一篇:云计算:这10年
相关文章