当前位置: 首页 > news >正文

石油网站建设价格网站四对联广告代码

石油网站建设价格,网站四对联广告代码,网站的功能和作用是什么,养生网站设计MongoDB 是一款面向文档型的 NoSQL 数据库#xff0c;是一个基于分布式文件存储的开源的非关系型数据库系统#xff0c;其内容是以 K/V 形式存储#xff0c;结构不固定#xff0c;它的字段值可以包含其他文档、数组和文档数组等。其采用的 BSON#xff08;二进制 JSON 是一个基于分布式文件存储的开源的非关系型数据库系统其内容是以 K/V 形式存储结构不固定它的字段值可以包含其他文档、数组和文档数组等。其采用的 BSON二进制 JSON 的数据结构可以提高存储和扫描效率但空间开销会有些大。今天就为大家简单介绍下在 Python 中使用 MongoDB 。 安装 PyMongo 库 在 Python 中操作 MongoDB 需要使用 PyMongo 库执行如下命令安装 pip3 install pymongo 连接 MongoDB 数据库 连接时需要使用 PyMongo 库里面的 MongoClient 模块有两种方式可以创建连接默认只需要传入IP和端口号即可。如果数据库存在账号密码则需要指定连接的数据库并进行鉴权才能连接成功。 #导入 MongoClient 模块from pymongo import MongoClient, ASCENDING, DESCENDING# 两种方式#1. 传入数据库IP和端口号mc MongoClient(127.0.0.1, 27017)#2. 直接传入连接字串mc MongoClient(mongodb://127.0.0.1:27017)# 有密码的连接# 首先指定连接testdb数据库db mc.testdb# 通过authenticate方法认证账号密码db.authenticate(username,password)# 检查是否连接成功输出以下结果表示连接成功print(mc.server_info())# {version: 4.2.1, gitVersion: edf6d45851c0b9ee15548f0f847df141764a317e, modules: [], allocator: tcmalloc, javascriptEngine: mozjs, sysInfo: deprecated, versionArray: [4, 2, 1, 0], openssl: {running: OpenSSL 1.1.1 11 Sep 2018, compiled: OpenSSL 1.1.1 11 Sep 2018}, ……省略 , ok: 1.0} MongoDB 数据库操作 成功连接数据库接下来我们开始介绍通过 MongoClient 模块如何对 mongoDB 数据库进行 CURD 的操作。 获取数据库和集合 首先要指定需要操作的数据库和集合这里的数据库可以对应为 Mysql 的 DataBase集合对应为 Mysql 的 Table。需要注意的是在 mongoDB 中不需要提前创建数据库和集合在你操作它们时如果没有则会自动创建但都是延时创建的在添加 Document 时才会真正创建。​​​​​​​ # 指定操作数据库的两种方式#1. 获取 testdb 数据库没有则自动创建db mc.testdb#2. 效果与上面 db mc.testdb 相同db mc[testdb]# 打印出testdb数据库下所有集合(表)print(db.collection_names())# 指定操作集合的两种方式#1. 获取 test 集合没有则自动创建collection db.test#2. 效果与 collection db.test 相同collection db[test]# 打印集合中一行数据print(collection.find_one()) 数据的插入操作 在 MongoDB 中每条数据其实都有一个 _id 属性作为唯一标识。如果没有显式指明该属性MongoDB 会自动产生一个 ObjectId 类型的 _id 属性insert() 方法会在执行后返回 _id 值。不过在 PyMongo 3.x 版本中官方已经不推荐使用 insert() 方法而是推荐使用insert_one() 和 insert_many() 方法来分别插入单条记录和多条记录。​​​​​​​ # 要插入到集合中的对象book { name : Python基础, author : 张三, page : 80}# 向集合中插入一条记录collection.insert_one(book)# 返回结果{_id: ObjectId(5de4c7b90ae08431839ac2a7), name: Python基础, author: 张三, page: 80}# 对于insert_many()方法我们可以将数据以列表形式传递参数book1 { name : Java基础, author : 李白, page : 100}book2 { name : Java虚拟机, author : 王五, page : 100}# 创建 book_list 列表book_list [book1, book2]# 向集合中插入多条记录collection.insert_many(book_list)# 返回结果pymongo.results.InsertManyResult object at 0x7f80a39fa408 数据的查询操作 查询需要使用 find_one() 或 find() 方法其中 find_one() 查询得到的是单个结果即一条记录find() 则返回一个生成器对象。下面我们就来查询上面刚插入的数据如果查询不到数据则返回 None 代码如下​​​​​​​ # 通过条件查询一条记录如果不存在则返回Noneres collection.find_one({author: 张三})print (res)# 打印结果{_id: ObjectId(5de4c7b90ae08431839ac2a7), name: Python基础, author: 张三, page: 80}# 通过条件查询多条记录如果不存在则返回Noneres collection.find({page: 100})print (res)#打印结果pymongo.cursor.Cursor object at 0x7f80a39daa58# 使用 find() 查询会返回一个对象# 遍历对象并打印查询结果for r in res: print(r)#打印结果# {_id: ObjectId(5de4c8ae0ae08431839ac2a8), name: Java基础, author: 李白, page: 100}# {_id: ObjectId(5de4c8ae0ae08431839ac2a9), name: Java虚拟机, author: 王五, page: 100}# 查询page大于50的记录res collection.find({page: {$gt: 50}})# 通过遍历返回对象结果如下# {_id: ObjectId(5de4c7b90ae08431839ac2a7), name: Python基础, author: 张三, page: 80}# {_id: ObjectId(5de4c8ae0ae08431839ac2a8), name: Java基础, author: 李白, page: 100}# {_id: ObjectId(5de4c8ae0ae08431839ac2a9), name: Java虚拟机, author: 王五, page: 100} 上面查询条件中我们用到了 $gt 的比较运算符关于查询条件中的比较运算符和功能运算符对照表如下 符号含义举例$gt大于{page: {$gt: 50}$lt小于$lte小于等于$gte大于等于$ne不等于$in在范围内{page: {$in: [50, 100]}}$nin不在范围内{page: {$nin: [50, 100]}}$regex匹配正则表达式{name: {$regex: ^张.*}}$exists属性是否存在{name: {$exists: True}}$type类型判断{name: {$type: string}}$mod数字模操作{page: {$mod: [80, 10]}}$text文本查询{$text: {$search: Java}}$where高级条件查询{$where: obj. author obj. full_name} 数据的更新操作 更新操作和插入操作类似PyMongo 提供了两种更新方法即 update_one() 和 update_many() 方法其中 update_one() 方法只会更新满足条件的第一条记录。 注意 如果使用 $set则只更新 book 对象内存在的字段如果更新前还有其他字段则不更新也不删除。 如果不使用 $set则会把更新前的数据全部用 book 对象替换如果原本存在其他字段则会被删除。​​​​​​​ # 查询一条记录book collection.find_one({author: 张三})book[page] 90# 更新满足条件{author, 张三}的第一条记录res collection.update_one({author: 张三}, {$set: book})# 更新返回结果是一个对象我们可以调用matched_count和modified_count属性分别获得匹配的数据条数和影响的数据条数。print(res.matched_count, res.modified_count)#打印结果1 1# 更新满足条件 page90 的所有记录page 字段自加 10res collection.update_many({page: {$gt: 90}}, {$inc: {page: 10}})# 打印更新匹配和影响的记录数print(res.matched_count, res.modified_count)#打印结果2 2book3 {name:Python高级, author:赵飞, page: 50}#upsertTrue表示如果没有满足更新条件的记录则会将book3插入集合中res collection.update_one({author: 赵飞}, {$set: book3}, upsertTrue)print(res.matched_count, res.modified_count)#打印结果0 0# 查询所有记录并遍历打印出来res collection.find()for r in res: print(r)#打印结果# {_id: ObjectId(5de4c7b90ae08431839ac2a7), name: Python基础, author: 张三, page: 90}# {_id: ObjectId(5de4c8ae0ae08431839ac2a8), name: Java基础, author: 李白, page: 110}# {_id: ObjectId(5de4c8ae0ae08431839ac2a9), name: Java虚拟机, author: 王五, page: 110}# {_id: ObjectId(5de4d76f71aa089d58170a92), author: 赵飞, name: Python高级, page: 50} 集合的删除操作 删除数据同样推荐使用两个方法 delete_one() 和 delete_many() 其中 delete_one() 为删除第一条符合条件的记录。具体操作代码如下​​​​​​​ # 删除满足条件的第一条记录result collection.delete_one({author: 张三})# 同样可以通过返回对象的 deleted_count 属性查询删除的记录数print(result.deleted_count)# 打印结果1# 删除满足条件的所有记录以下为删除 page 90 的记录result collection.delete_many({page: {$lt: 90}})print(result.deleted_count)# 打印结果1 其他数据库操作 除了以上标准的数据库操作外PyMongo 还提供了以下通用且方便的操作方法比如 limit() 方法用来读取指定数量的数据skip() 方法用来跳过指定数量的数据等具体请看如下代码​​​​​​​ # 查询返回满足条件的记录然后删除result collection.find_one_and_delete({author: 王五}) print(result)# 打印结果{_id: ObjectId(5de4c8ae0ae08431839ac2a9), name: Java虚拟机, author: 王五, page: 110}# 统计查询结果个数# 全部结果个数collection.find().count()# 返回结果1# 满足条件结果个数collection.find({page: 100}).count()# 返回结果0# 查询结果按字段排序# 升序results collection.find().sort(page, ASCENDING)# 降序results collection.find().sort(page, DESCENDING)# 下面查询结果是按page升序排序只返回第二条记录及以后的两条结果results collection.find().sort(page, ASCENDING).skip(1).limit(2)print(results) 注意在数据量在在千万、亿级别庞大的时候查询时最好 skip() 的值不要太大这样很可能导致内存溢出。 数据索引操作 默认情况下数据插入时已经有一个 _id 索引了当然我们还可以创建自定义索引。​​​​​​​ # uniqueTrue时创建一个唯一索引索引字段插入相同值时会自动报错默认为Falsecollection.create_index(page, unique True)# 打印结果page_1# 打印出已创建的索引print(collection.index_information())# 返回结果{_id_: {v: 2, key: [(_id, 1)], ns: testdb.test}, page_1: {v: 2, unique: True, key: [(page, 1)], ns: testdb.test}}# 删除索引collection.drop_index(page_1)#删除集合collection.drop() 总结 本文为大家介绍了 Python 中如何创建连接 MongoDB 数据库并通过代码的方式展示了对 MongoDB 数据的增删改查以及排序索引等操作通过以上学习个人感觉操作起来还是比较简单方便的。今天就先介绍到这里以后还会为大家介绍其他数据库的操作。
http://www.tj-hxxt.cn/news/134255.html

相关文章:

  • 服装网站建设开发语言个人网站做什么内容好
  • 青龙建站教程当下最流行的营销方式
  • 如何做同城信息网站wordpress页面找不到404
  • 英文广告网站模板免费下载360网站seo怎么做
  • 做网站难度漯河百度做网站电话
  • 微服务网站户型图装修设计图app
  • 博客网站登录入口佛山网站代运营
  • 兰州网站备案注册安全工程师职业资格制度规定
  • 厦门做网站的重庆医院门户网站建设
  • 淘客做的领券网站快速提高关键词排名的软件
  • 城乡与住房建设部网站网站做外链的方式
  • 建设部监理网站官网公司建立网站的必要性
  • 网站不备案打不开直播软件哪个好用
  • 中国建设很行河北省分行合作网站成都有啥好玩的地方
  • 西安网站建设咪豆互联网站备案可以更改吗
  • 推荐10个网站网站策划书怎么做的美观
  • d?t网站模版新装本地wordpress超慢
  • 海南论坛论坛网站建设温州公司建设网站
  • 优秀 网站设计 蓝色网站建设主题大全
  • 爱做网站外国做海淘是在哪个网站好
  • 企业如何建自己的网站wordpress菜单右置
  • 网站建设北京公司标书制作的六步骤
  • 广州定制网站制作平台昆明哪里做网站
  • 宁波网站建设应届生什么是网络设计方案
  • 短网址生成站长工具网站建设的费用入账
  • 商场网站设计个人简历生成器
  • 网站建设公司未来发展方向巧家县住房和城乡建设局网站
  • wordpress站点标题添加网上找装修设计
  • 国外黄冈网站推广长春网站seo报价
  • 成品网站商业网络