首页 > 编程 > Python > 正文

Python常见MongoDB数据库操作实例总结

2020-02-15 22:30:29
字体:
来源:转载
供稿:网友

本文实例讲述了Python常见MongoDB数据库操作。分享给大家供大家参考,具体如下:

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能。接下来记录一下在使用PyMongo操作MongoDB

下载pymongo库

pip install pymongo

前置操作

# 获取MongoDB操作,localhost为host,27017为MongoDB默认portclient = pymongo.MongoClient("mongodb://localhost:27017/")# 操作test数据库db = client.test# 获取Student集合student = db.Student

插入单条数据

# 插入一条数据,并获取返回结果res = student.insert_one({"name":"老王"})# 获取插入之后该条数据的idobject_id = res.inserted_idprint(object_id)

插入多条数据

# 插入9条数据res = student.insert_many([{"name":"name%d"%index} for index in range(1,10)])# 获取插入之后该9条数据的ids,object_ids为一个listobject_ids = res.inserted_idsprint(object_ids)

查询单条数据

# 查询单条数据,res为一个dictres = student.find_one({"name":"老王"})

查询满足条件的所有数据

# 查询满足条件的所有数据,res为一个pymongo.cursor.Cursor对象res = student.find({"name":"老王"})# 获取数据个数print(res.count())for index in res:  # index为一个dict。注意:这个循环只能进行一次,如需再次操作返回结果,需要在find一次,或将list(res),将这个返回结果保存起来  print(index)

更新

# 查询并更新。{"name":"老王"}为查询条件;{"$set":{"addr":"家住隔壁"}}更新数据;upsert=False找不到不插入数据,upsert=True找不到则插入数据# res为返回结果,res为一个字典对象,是之前数据的字典res = student.find_one_and_update({"name":"老王"},{"$set":{"addr":"家住隔壁"}},upsert=False)

删除单条数据

student.delete_one({"name":"老王"})

删除匹配条件的所有数据

student.delete_many({"name":"老王"})

附:更多MongoDB的操作

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能。接下来记录一下在终端怎么使用MongoDB:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表