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

网友投稿 628 2022-11-02

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

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

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

NoSQL: Not Only SQL键值(key-value)数据库

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

文档(Document-Oriented)类型

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

列存储数据库

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

图数据库

Neo4JOrientDB适用场景

在一些关系型强的数据库可以使用推荐引擎

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

products.xml

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

'''pip install pymongo'''from pymongo import *Client = MongoClient()db = Client.dataproducts = db.productsproducts.delete_many({'price':{'$gt': 0}})import xmltodictf = 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)

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')])]5e5e77236a8c0732e4edc4e45e5e77236a8c0732e4edc4e55e5e77236a8c0732e4edc4e6{'_id': ObjectId('5e5e77236a8c0732e4edc4e5'), '@uuid': '4321', 'id': '20000', 'name': '特斯拉', 'price': 800000}{'_id': ObjectId('5e5e77236a8c0732e4edc4e6'), '@uuid': '5678', 'id': '30000', 'name': 'Mac Pro', 'price': 40000}

​​持续更新中。。。。​​

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

上一篇:jmeter添加自定义扩展函数之图片base64编码示例详解
下一篇:micro-job 是一款基于quartz轻量级分布式任务执行框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~