mongoDB基础

阶段一、认识mongodb

1、mongodb 组织数据的基本形式

MongoDB————》数据库————》集合————》文档

mysql:表:行和列:字段

运用场景:如 送外卖骑手的实时信息、日志、游戏人物属性、微信附近人信息

运用特征:实时变化的 QPS

数据类型:每个文档以键值对的形式储存

2、进入与退出 数据库

进入:mongo

退出:exit

阶段二、库,集合操作

1、显示所有库:shou dbs

2、切换数据库:use 数据库名称

3、查看所在库:db

4、删除库:db.dropDatabase()

5、查看当前库里面的集合:show collections

6、创建集合:db.createCollection('student')

7、删除集合:db.集合名称.drop()

阶段三、数据的增删改查操作

1、插入数据

db.集合名称.insert(document)

每一条数据,就是一个document,即 就是一条json

插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

# 例:插入一条
db.student.insert({name:‘shiwei',age:18})
# 插入时加入id
db.student.insert({_id:10,name:‘shiwei',age:18})

# 插入多条:
db.student.insert([
{name:‘shiwei',sex:'male',age:18},
{name:'张三',sex:’female',age:30 },
{name:'李四',sex:’male',age:48 },
])
2、查询数据

db.集合名称.find()

# 查询所有:db.student.find()
# 查询所有、格式会缩进:db.student.find().pretty()
# 按条件查询:
> db.student.find({name:'zcm'})
{ "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm", "age" : 22 }
{ "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm", "age" : 22 }

> db.student.find({name:'zcm'},{age:1})
{ "_id" : ObjectId("5b3789beccd791f53ba27b05"), "age" : 22 }
{ "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "age" : 22 }

> db.student.find({name:'zcm'},{age:0})
{ "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm" }
{ "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm" }
3、更新数据

更新数据

db.集合名称.update(

<query>, (条件)

<update>,

{multi: <boolean>}

​ )

# 全文档更新:
db.stu.update({name:’shiwei’},{xx:’yy’ } )

# 指定属性更新,通过操作符$set,有相同的属性时,只更改一条数据
db.student.update({name:'zcm'},{$set:{age:18}})

# 更新多条: { multi: ture } 。 (前提只能指定字段更新)
db.student.update({name:'zcm'},{$set:{age:5}},{multi:true})
4、删除数据

db.集合名称. remove(

​ <query>, (条件)

<justOne>

​ )

# 只是删除 一条数据
db.student.remove({xx:'yy'},{justOne:true})

# 删除满足条件的,所有数据:
db.student.remove({name:'zcm'})

阶段四、Python操作mongodb

1、连接器(驱动)

安装python包:pip install pymongo

引入包pymongo:import pymongo

建立连接并创建客户端: client= pymongo.MongoClient('127.0.0.1',27017)

指定数据库:db=client[ 数据库名 ]

指定集合:stu=db [ 集合名]

2、主要方法

insert_one

insert_many

update_one

update_many

delete_one

delete_many

find_one

find

3、例子
import pymongo

# 建立连接
client = pymongo.MongoClient('127.0.0.1', 27017)

# 获取要操作的数据库
db = client['student']

# 获取要操作的集合
col = db['student']

data = col.find()
print(data) # 打印出了一个对象,证明连接成功了

# 插入一条数据
# col.insert_one({'name': 'zcm', 'age': 22})

# 插入多条数据
# li = [
# {'nane': 'zhangsan', 'age': 30, 'sex': 'nan'},
# {'nane': 'baby', 'age': 18, 'sex': 'nv'},
# {'nane': 'dengchao', 'age': 30, 'sex': 'nan'}
# ]
# col.insert_many(li)

# 更新一条数据
# col.update_one({'name': 'zcm'}, {'$set': {'age': 3}})

# 更新多条数据
# col.update_many({'name':'zcm'},{'$set': {'age':18}})

# 查询一条数据
# find = col.find_one()
# print(find)

# 查询多条数据 只返回对象
# find_d = col.find()
# print(find_d)

# 删除一条数据
# col.delete_one({'name':'zcm'},{'justOne':'true'})

# 删除多条数据
# col.delete_many({'name':'zcm'})

09 mongoDB基础(进阶)的更多相关文章

  1. 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧

    [简单易懂的AMV图文教程-2]VEGAS基础进阶--认识关键帧 经过了上一期VEGAS基础教程的学习,相信大家都能独立完成一些比较简单的纯剪辑作品了.今天在这里为大家继续介绍VEGAS的一大基础应用 ...

  2. 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】

    老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...

  3. mongodb基础用法

    安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...

  4. mongodb基础系列——数据库查询数据返回前台JSP(一)

    经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...

  5. MongoDB基础知识 02

    MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...

  6. MongoDB基础知识 01

    MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...

  7. MongoDB基础教程系列--未完待续

    最近对 MongoDB 产生兴趣,在网上找的大部分都是 2.X 版本,由于 2.X 与 3.X 差别还是很大的,所以自己参考官网,写了本系列.MongoDB 的知识还是很多的,本系列会持续更新,本文作 ...

  8. DataBase MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  9. js基础进阶--关于setTimeout的思考

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 先热身 看看下面的额代码会打印出什么? for (var i = 0; i < 5; i++) { setTimeout( ...

随机推荐

  1. C#程序集

    我的理解: 程序集是一个物理上的概念,一个项目生成的exe或者dll都可以叫做一个程序集,internal修饰的内容可以在程序集内可见.

  2. 数据质量控制软件Q-CHECKER(转)

    随着企业信息化建设的不断深入进行,我们的企业将逐步地发展成为数字化企业.其中作为最基本构成的CATIA数模已经是产品开发制造的唯一依据,CATIA数模的质量就是加工的质量,就是制造的质量,就是生产出的 ...

  3. installed_oracle_can't_use

    Preface 1.my server is windowsxp 2.database is the oralce 10g step A.CHECK SERVER 1.win + r cmd sqlp ...

  4. Facebook 新开源了 2 个东西,一个语音识别系统(wav2letter++)和一个机器学习库(flashlight)

    Open sourcing wav2letter++, the fastest state-of-the-art speech system, and flashlight, an ML librar ...

  5. OC static 和函数

    #include <stdio.h> // 定义一个one函数 // 完整地定义一个外部函数需要extern关键字 //extern void one() { // printf(&quo ...

  6. 【BZOJ3495】PA2010 Riddle

    题目大意 有\(n\)个城镇被分成了\(k\)个郡,有\(m\)条连接城镇的无向边.要求给每个郡选择一个城镇作为首都,满足每条边至少有一个端点是首都. 题目分析 每条边至少有一个端点是首都,每个郡至多 ...

  7. HDU 6178 Monkeys

    题意:给出一棵 N 个节点树,上面有 K 个猴子,然后竟可能删边,但是每一只猴子必须有直接相邻的猴子与之相邻.求最少剩下几条边. 分析:一条边可以用两只猴子站,这样的一条点对,越多越好,如果是ans个 ...

  8. 什么是React中的组件

    组件就是页面上的一部分.如图,左边是一个网页.右边是对应的一个组件图.我们可以把一个大的网页拆分成很多小的部分.比如标题部分,对应一个组件,就是标题组件.搜索部分,对应的组件就是搜索组件.而这个搜索组 ...

  9. ASP.NET整体运行机制+asp.net请求管道+页面生命周期+MVC整体运行机制原理图

    在网上找的,个人感觉很好的

  10. 原生js 异步请求,responseXML解析

    异步更新原理:用XMLHTTP发送请求得到服务器端应答数据,在不重新载入整个页面的情况下,用js操作Dom最终更新页面1.创建XMLHttp请求协议 function createXMLHttpReq ...