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

广东企业建网站惠州网站小程序建设

广东企业建网站,惠州网站小程序建设,哪里建设网站最好用,广东住房城乡建设厅网站目录 1. 相关安装 2. Pycharm可视化观察MongoDB 3. python使用 MongoDB 最初流程代码 4. 插入、查询、更新、删除数据 4.1 插入数据 4.2 查询数据 4.3 更新数据 4.3.1 更新一条数据 4.3.2 更新多条数据 4.4 删除数据 5. 计数、排序、偏移 5.1 计数 5.2 排序 5.3 …

目录

1. 相关安装

2. Pycharm可视化观察MongoDB

3. python使用 MongoDB 最初流程代码

4. 插入、查询、更新、删除数据

4.1 插入数据

4.2 查询数据

4.3 更新数据

4.3.1 更新一条数据

4.3.2 更新多条数据

4.4 删除数据

5. 计数、排序、偏移

5.1 计数

5.2 排序

5.3 偏移

1. 相关安装

        MongoDB数据库安装(注意自己的文件路径):MongoDB的安装配置教程(很详细,你想要的都在这里)_mongodb安装-CSDN博客

        python语言使用该数据库要安装pymongo数据包:

打开,conda install pymongo

2. Pycharm可视化观察MongoDB

        在Pycharm右侧或者左下角找到下图1图标,然后按步骤进行。

        之后改个数据源名称,MongoDB不需要密码(如果一直连接不上,可能是没启动MongoDB),若弹出要下载啥的,直接下载,之后点确定,就可在右侧看到之后对MongoDB的操作。

3. python使用 MongoDB 最初流程代码

        导入pymongo库,创建连接对象,指定数据库,指定集合(相对于mysql的表)

import pymongoclient = pymongo.MongoClient("mongodb://localhost:27017/")  # 1、创建连接对象
# client = pymongo.MongoClient(host='localhost', port=27017)    # 同上效果
db = client.test    # 2、指定数据库test(会直接创建一个数据库)
collection = db.students    # 3、指定集合students

        在右侧可看到结果如下(没出现,点击两个循环箭头的刷新就好):

4. 插入、查询、更新、删除数据

        在基本代码下进行以下操作。

4.1 插入数据

       collection.insert_one()插入一条数据(数据为字典),返回的是InsertOneResult 对象,可用inserted_id来获取_id;(个人认为,这里的_id相当于mysql的主键)

        collection.insert_many()插入多条数据,参数为包含多个字典的列表。返回的是InsertManyResult 对象,可用inserted_ids来获取多个数据的_id;

student1 = {'id': '100','name': '小明','age': 20,'gender': '男'
}
result1 = collection.insert_one(student1)
print(result1, result1.inserted_id)student2 = {'id': '101','name': '小红','age': 22,'gender': '女'
}
student3 = {'id': '102','name': '小强','age': 26,'gender': '男'
}
result2 = collection.insert_many([student2, student3])
print(result2, result2.inserted_ids)

结果如下:

4.2 查询数据

        使用collection.find_one()查询一条数据,参数是一个字典,返回一个字典,_id属性是自动添加的。

        collection.find()可查询多条数据,返回一个生成器,用for 遍历出来结果。下面是查询年龄小于25岁的,这时需要比较符号。

data = collection.find_one({"id": '101'})
print(type(data), data)data2 = collection.find({'age': {'$lt': 25}})
print(data2)
for data in data2:print(data)

比较符号如下:

还可以进行正则匹配,需要功能符号,如下:

4.3 更新数据

        在sduents表中的数据为:

4.3.1 更新一条数据

        现要更新第一条数据的年龄,首先要知道这条数据的辨识条件conditon,之后使用 collection.update_one()去更改,第一个参数为conditon,第二个参数是个字典,要使用$set操作符作为键,值为数据对象及更改内容。

condition = {'age': 20}
result = collection.update_one(condition, {'$set': {‘age’: 30}})
print(result)    # 输出:<pymongo.results.UpdateResult object at 0x000001D9787F07C0>
# 上个输出不唯一,每次都可能不同
print(result.matched_count, result.modified_count)    # 匹配条数和影响条数 输出: 1 1

4.3.2 更新多条数据

        现要将年龄大于25岁学生年龄都加一,代码如下:

condition = {'age': {'$gt': 25}}
result = collection.update_many(condition, {'$inc': {'age': 1}})
print(result)
print(result.matched_count, result.modified_count)    # 输出:2 2

       结果如下:

 如果该条件下的数据只要一条,使用update_many()会报错。

4.4 删除数据

        collection.remove()可删一条和多条数据,collection.delete_one()和collection.delete_many()删除一条和多条。

result1 = collection.remove({'age': {'$lt': 25}})    # 也可删多条数据
# collection.delete_one({'age': {'$lt':25}}) # 删一条
# 上面的remove()方法官方不推荐使用,会报警告
print(result1)
result2 = collection.delete_many({'age': {'$gt': 25}})
print(result2, result2.deleted_count)

5. 计数、排序、偏移

        初始集合:

        以下代码在最初流程代码后进行。

5.1 计数

number1 = collection.find().count() 
print(number1) # 3
number2 = collection.count()    # 所有数据条数
print(number2)  # 3
number3 = collection.find({'age':{'$lt': 25}}).count()
print(number3)    # 2
# 上述都会报警告,但会正常进行number4 = collection.count_documents({'age': {'$lt': 25}})
print(number4)    # 不警告,但不加参数会报错

5.2 排序

results = collection.find().sort("id", pymongo.ASCENDING)
# pymongo.ASCENDING为顺序,pymongo.DESCENDING为倒序
for result in results:print(result, result['id'])

5.3 偏移

        利用skip()方法跳过前几个,limit()方法会限制获取结果。现在对上述结果进行跳过第一个,只要一个结果:

results = collection.find().sort("id", pymongo.DESCENDING).skip(1).limit(1)
for result in results:print(result, result['id'])

本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。若文章对你有用,点个小赞鼓励一下,谢谢,一起加油吧!

http://www.yayakq.cn/news/694817/

相关文章:

  • 专业做鞋子网站wordpress思维导图
  • 如何做最强的社交网站建设工程合同无效的情形
  • 对小米网站的建设意见公司做个网站多少钱
  • WordPress默认模板做的站分类网站营销
  • 豪华网站设计工程管理毕业设计代做网站
  • 网站建设肆金手指排名7织梦网站默认密码忘记
  • 杭州建设实名制报备网站德州建设信息网站
  • 一个网站需要多少网页做网咖的网站
  • 网站前端设计做包装用哪个网站
  • 寿光专业做网站优服优科网站建设公司
  • 沧州国外网站建设python和c++学哪个好
  • 肇庆自助建站模板网站运营内容包含哪些
  • 网站建立时间查询线上平台建设怎么做
  • 网站设计优缺点如何诊断网站seo
  • 优秀个人博客网站酒店网络营销推广案例
  • 牛股大转盘网站建设哈尔滨免费自助建站模板
  • 甘肃省建设厅官方网站张睿这几年做哪些网站致富
  • 网站到期不想续费在线电子商务网站开发
  • 如何做游戏渠道网站网站做细分领域
  • 上海网站建设网站开发可以推广的软件有哪些
  • 中山台州网站建设推广微网站 网页
  • 网站建设怎么引流做cpa没有网站怎么办
  • 登封网站设计免费背景图片素材网
  • 仿win8网站酒店网站建设工作
  • 明星静态网站英文外贸网站设计
  • aspx网站搭建教程网站制作好学吗
  • 福州做网站外包成都网络营销
  • 建站设计做甜品的网站
  • 非主流图片在线制作衡阳seo网络营销方案
  • 成都网站推广排名墙外必去的网站