python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

时间:2023-01-05 15:20:54

python操作mongodb数据库①mongodb的安装和简单使用

参考文档:
中文版:http://www.mongoing.com/docs/crud.html
英文版:https://docs.mongodb.com/

环境准备:
1.下载mongodb for windows 2008r2版本,进行安装,建议安装在盘的根目录
比如安装在d:/mongodbserver目录下

安装完数据库以后可以设置环境变量,这样直接就可以在cmd命令行进行操作了

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

2.创建数据目录
D:\mongodbserver\data

3.cmd命令行下启动mongodb程序
D:\mongodbserver\bin>mongod --dbpath D:\mongodbserver\data

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

基本概念:
文档:区分大小写、key唯一不可重复、文档可嵌套、键值对是有序的

集合:集合就是一组文档,文档类似关系数据库里的行,集合类似于关系数据库里的表,集合中的文档无需固定的结构(与关系型数据库的区别)

集合的命名规范:
1.不能是空字符串("")
2.不能包含\0字符(空字符)
3.不能使用system.的前缀(系统保留)
4.建议不包含保留字"$"
5.用.分割不同命名空间的子集合(如:blog.users, blog.posts)

重点:
1.多个文档组成集合,多个集合组成数据库
2.一个实例可以承载多个数据库
3.每个数据库都有独立的权限
4.保留的数据库名称(admin,local,config)

基本操作:
cmd窗口敲入mongo回车进入命令行

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

1.函数的定义和使用

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

2.新增数据

> use students;
switched to db students
> stu = {"name":"jack","age": }
{ "name" : "jack", "age" : }
> db.students.insert(stu)
WriteResult({ "nInserted" : })

插入单条、多条数据

>db.students.insertMany([{"name":"lucy","age":},{"name":"lilei","age":},{"name":"hanmeimei","age":}])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5a9d58fbcfb5edc5e31235f4"),
ObjectId("5a9d58fbcfb5edc5e31235f5"),
ObjectId("5a9d58fbcfb5edc5e31235f6")
]
}
> db.students.find()
{ "_id" : ObjectId("5a9d5822cfb5edc5e31235f0"), "name" : "jack", "age" : }
{ "_id" : ObjectId("5a9d5892cfb5edc5e31235f1"), "name" : "lily", "age" : }
{ "_id" : ObjectId("5a9d58a3cfb5edc5e31235f2"), "name" : "tom", "age" : }
{ "_id" : ObjectId("5a9d58cdcfb5edc5e31235f3"), "name" : "lucy", "age" : }
{ "_id" : ObjectId("5a9d58fbcfb5edc5e31235f4"), "name" : "lucy", "age" : }
{ "_id" : ObjectId("5a9d58fbcfb5edc5e31235f5"), "name" : "lilei", "age" : }
{ "_id" : ObjectId("5a9d58fbcfb5edc5e31235f6"), "name" : "hanmeimei", "age" : }

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

2.数据的查询
查询所有数据

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

3.查询单条数据

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

4.修改数据

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

5.删除数据

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

6.删除所有数据

> db.students.deleteMany({})
{ "acknowledged" : true, "deletedCount" : }
> db.students.find()

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

练习任务:
1.创建一个学生信息表(至少包含:姓名、性别、成绩、年龄)
2.写入15条不同的数据

db.students.insertMany(
[
{name: "bob", age:, gender:"male", grade:},
{name: "ana", age:, gender:"female", grade:},
{name: "xi", age:, gender:"male", grade:},
{name: "bob1", age:, gender:"male", grade:},
{name: "ana1", age:, gender:"female", grade:},
{name: "jack", age:, gender:"male", grade:},
{name: "tom", age:, gender:"male", grade:},
{name: "lily", age:, gender:"female", grade:},
{name: "lucy", age:, gender:"female", grade:},
{name: "lilei", age:, gender:"female", grade:},
{name: "hanmeimei", age:, gender:"female", grade:},
{name: "harry", age:, gender:"male", grade:},
{name: "json", age:, gender:"male", grade:},
{name: "jim", age:, gender:"male", grade:},
{name: "rose", age:, gender:"female", grade:},
{name: "moli", age:, gender:"female", grade:},
{name: "linda", age:, gender:"female", grade:}
]
)

3.查询所有的男生数据(只需要学生的姓名和年龄)
> db.students.find({gender:"male"},{age:true,name:1,_id:0})
{ "name" : "bob", "age" : 16 }
{ "name" : "xi", "age" : 15 }
{ "name" : "bob1", "age" : 16 }
{ "name" : "jack", "age" : 18 }
{ "name" : "tom", "age" : 19 }
{ "name" : "harry", "age" : 16 }
{ "name" : "json", "age" : 16 }
{ "name" : "jim", "age" : 16 }

4.查询成绩几个的学生信息(学生成绩大于或等于60分)
> db.students.find({grade :{$gte:60}})

5.查询所有18岁的男生和16岁女生的数据
> db.students.find({$or :[{gender:"female",age:16},{gender:"male",age:18}]})
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c44e"), "name" : "jack", "age" : 18, "gender" : "male", "grade" : 85 }
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c450"), "name" : "lily", "age" : 16, "gender" : "female", "grade" : 59 }
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c453"), "name" : "hanmeimei", "age" : 16, "gender" : "female", "grade" : 90 }
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c457"), "name" : "rose", "age" : 16, "gender" : "female", "grade" : 91 }
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c458"), "name" : "moli", "age" : 16, "gender" : "female", "grade" : 93 }
{ "_id" : ObjectId("5a9df2e48a86b467d4a2c459"), "name" : "linda", "age" : 16, "gender" : "female", "grade" : 96 }

6.按照学生的分数进行排序
从小到大
> db.students.find().sort({grade:1})
从大到小,倒序
> db.students.find().sort({grade:-1})

7.将所有女生年龄增加一岁
> db.students.update({gender:"female"}, {$inc:{age:1}}, {multi:true})
WriteResult({ "nMatched" : 9, "nUpserted" : 0, "nModified" : 9 })

python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用的更多相关文章

  1. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  2. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...

  3. Python操作三大主流数据库☝☝☝

    Python操作三大主流数据库☝☝☝ Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数 ...

  4. Python操作三大主流数据库✍✍✍

    Python操作三大主流数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库, ...

  5. python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战

    python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...

  6. python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用

    python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...

  7. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  8. Python操作三大主流数据库

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:  ...

  9. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...

随机推荐

  1. iOS项目开发中的知识点与问题收集整理②(Part 二)

    1.点击UIButton 无法产生触摸事件    如果在UIImageView中添加了一个按钮,你会发现在默认情况下这个按钮是无法被点击的,需要设置UIImageView的userInteractio ...

  2. foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.Table' because 'System.Web.UI.WebControls.Table' does not contain a public definition for 'GetEnumerator'

    错误:foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.Table' because ' ...

  3. Win10 利用安装盘启用 .NET Framework 3.5

    以管理员身份运行命令提示符,在“管理员:命令提示符”窗口中输入以下命令:dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\ ...

  4. NOR型flash与NAND型flash的区别

    1) 闪存芯片读写的基本单位不同  应用程序对NOR芯片操作以“字”为基本单位.为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区.读写时 ...

  5. Cygwin下安装vim后,vim中退格键无法正常使用

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...

  6. Flex Robotlegs

    Flex Robotlegs 一.基于Robotlegs框架 flex应用基本组成 ProjectNameContext.as 用于配置 Robotlegs 的映射 ProjectName.mxml ...

  7. js把页面的table标签导出为csv

    // 使用该保存方法,table必须外嵌一个div且不能有任何其他元素 否则ie下载会出现其他数据 //tableid , title 为文件保存的文件名 function saveCode(tabl ...

  8. linux系统下网络主-备份策略之网卡bond技术

    操作系统:CentOS Linux release 7.1.1503 (Core) 网卡适配器: eno1.eno2 bonding类型:mode=1 (active-backup),主-备份策略 网 ...

  9. WPF路由事件一:逻辑树和可视树

    一.什么是逻辑树 逻辑树就是描述WPF界面元素的实际构成,它是由程序在XAML中所有的UI元素组成.最显著的特点就是由布局控件.或者其他常用的控件组成. <Window x:Class=&quo ...

  10. es6之Iterator

    1.任何数据结构只要部署了Iterator接口(本质是一个指针对象),也就是部署了Symbol.iterator属性,便可以完成遍历操作:数组原生就具备Iterator接口,就可以用for...of遍 ...