一、 基础入门

1、 下载mongodb安装包进行安装

2、 在运行mongodb前创建一个文件夹如:db来存放mongodb的数据

3、 微软徽标+R,输入cmd,首先找到“mongodb/bin”的路径,然后运行mongod开启命令,同时用–dbpath指定数据存放地点为“db”文件夹。

mongod --dbpath F:\mongo\data

注意:运行后再浏览器中访问localhost:27017输出一句话后则成功启动mongodb

Mongodb基本操作

新增数据库

Use dbName

查看所有数据库 show dbs注意:查看数据库如果数据库没有数据则不会显示
删除数据库

db.dropDatabase()

创建集合:

db.createCollection(name)

注意:如果添加数据时没有集合会自动创建集合
删除集合:

db.collection.drop()

4、 最简单的增删改查

打开cmd定位到bin目录输入mongo进入shell命令输入界面

(1)、insert插入数据

当使用mongo进入shell时会自动进入test数据库然后直接输入db.web39.insert({“name”:”小明”,”age”:18})就可以添加一条数据
注意:mongodb是可以不用手动创建数据集合(数据表)不用手动创建字段名、会根据所添加的数据自动分配字段名

(2)、find查询

通过:db.web39.find()这样就可以查询到web39下面的所有数据

(3)、update修改

注意:update有两个参数、第一个为查询条件、第二个参数为修改的值
Db.web39.update({“name”:”xxx”},{“age”:18})
注意:updata修改时没做其他处理会吧第二个参数中没有填写的字段名全部去除

(4)、remove删除

注意:千万别使用remove()不带参数否则后果自负
Remove(“age”:18)

二、 详细讲解增删改查

1、 注意如果再次运行mongod时发生错误请删除数据存储文件db下的lock file文件 没发生错误不用管
Insert操作
单条数据插入:
(1) insert中的语法与json一样、可以是字符串、数组、也可以是嵌套的对象

 db.web39.insert({"name":"小明","password":"123456","address":{"city":"重庆"},"
tel":"18423075400","link":["打篮球","打麻将","斗地主"]})

多条数据插入:
可以再shell中提前编写一个对象如:

var obj = [{"name":"小明","age":18},{"name":"小明","age":18},{"name":"小明","a
ge":18},{"name":"小明","age":18},{"name":"小明","age":18},{"name":"小明","age":1
8}]

在使用for循环插入数据

For(var i =0;i<obj.length;i++){Db.web39.insert(obj[i])
}

Find操作
1、<、>、<=、>=、!=、= 注意匹配的是数值
大于:

Db.web39.find({“age”:{$gt:18}})查询age大于18的数据

大于等于:$gte
小于:

Db.web39.find({“age”:{$lt:18}})查询age小于18的数据

小于等于:lte不等于:lte 不等于:lte不等于:ne

Db.web39.find({“age”:{$nt:18}})查询age不等于18的数据

等于:{“age”:18}
Count:查询数据条数

Db.web39.count()
Db.web39.count({name:xxx})

Limit控制查询条数

Db.web39.find().limit(2)查询两条数据

skip:查询时跳过指定条数

db.web39.find().skip(3)跳过3条数据查询

limit与skip结合使用就可以实现分页查询

db.web39.find().limit(3).skit(xx)

排序sort({xxx:1/-1}) 1升序 -1降序
Group分组查询

Db.web39.group({Key:{‘字段名’:true},Reduce:function(obj[当前文档],字段名){字段名.count++},Initial:{count:0}
}
)

Key/reduce/initial必写参数
Cond:条件判断类似sql中的where
Distinct:去除重复值
Db.web39.distinct(‘age’)

2、 and/or/in

(1)、and &&
Db.web39.find({“name”:”二狗子”,”age”:18})
(2)、or ||
Db.web39.find({KaTeX parse error: Expected 'EOF', got '}' at position 14: or:[{},{},{}]}̲) (3)、in Db.…in:[‘值1’,’值2’]}})
KaTeX parse error: Expected '}', got 'EOF' at end of input: …Db.web39.find({where:function(){}})

Update

1、 整体更新:当更新数据后如果在跟新是没有填写所有字段则没填写的字段都会被删掉
2、 局部更新:使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …e({name:’小明’},{set:{age:100}})
3、 upsert:在使用update修改时第一个参数为查找、如果没有查找到想要修改的数据则添加一条数据在update第三个参数设置为true即可
db.web39.update({xxx:xxx},{xxx:xxx},true)
4、 批量更新:使用{multi:true}启用批量更新但是必须配合KaTeX parse error: Expected '}', got 'EOF' at end of input: …te({name:/小/},{set:{age:20}},{multi:true})
Remove操作
这个操作在上一篇简单的说过,这里就不赘述了。
删除多条数据
Db.xxx.remove({age:18})
删除一条数据
Db.xxx.remove({age:18},true)
删除所有
Db.xxx.remove({})

Mongodb导出导入

1、 导出数据库mongodump –d 要导出的数据库名称 –o 导出的保存路径
Mongodump –d student –o F:\mongo\db\student
2、 导入数据库mongorestore F:\mongo\db

mongodb数据库学习笔记相关推荐

  1. 尚硅谷+黑马程序员MongoDB视频学习笔记(一)

    本学习笔记是来源于学习B站上的尚硅谷和黑马的MongoDB教学视频而做的知识总结. 一.数据库(Database) 数据库是按照数据结构来组织.存在和管理数据的仓库.说白了,数据库就是存在数据的仓库. ...

  2. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  3. 数据库学习笔记(1)

    数据库学习笔记(1) 文章目录 数据库学习笔记(1) @[toc] DB 基本概念 连接数据库的三要素 元数据 mongoose 查询符合对象数组中某个对象的值 redis 是什么 存储的数据类型 r ...

  4. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. 【数据库学习笔记】——cursor游标对象

    目录 1.创建cursor对象 2.cursor对象常用方法 3.操作数据库的常见流程(五部曲) 课程视频链接: 第14节 Python操作数据库_哔哩哔哩_bilibili666https://ww ...

  7. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能

    [数据库学习笔记]Day03 - SQL语言基础及数据库定义功能 〇.本文所用数据库表格: 一.关系运算: 关系运算,数学名词,基本运算有两类:一类是传统的集合运算(并.差.交等),另一类是专门的关系 ...

  9. Mongodb使用学习笔记(二)

    文章目录 Mongodb使用学习笔记(二)之查询篇 1. MongoDB命令学习 (1) MongoDB 查询文档 1.1 全部查询 1.2 单条件查询 1.3 多条件查询 1.3.1 AND拼接多条 ...

最新文章

  1. Python机器学习笔记:sklearn库的学习
  2. squid介绍及其简单配置
  3. [综合面试] 跨专业大牛的IT求职面试经验分享以及学习知识路线图梳理
  4. visual studio报错:error C4996: ‘scanf‘
  5. python中自定义类中的self_Python类和构造方法
  6. hp服务器硬盘ultra320,HP服务器上安装和管理HP 磁盘柜MSA500G.pdf
  7. Vue 开发中常见报错与处理
  8. mysql如何建外建_mysql如何建立外键
  9. ubuntu 16.04安装VMwareTools
  10. 配置映射文件中使用的类的类型别名typeAliases
  11. Atitit 企业常见100个职能 组织职能 社会职能 政府职能 家庭职能 团队职能
  12. USB-PPI数据电缆驱动
  13. 刚入职的新人如何快速了解公司业务
  14. 如何有效的快速提高自己的编程能力
  15. 怎么更换证件照背景颜色?
  16. 本周最新文献速递20220320
  17. 进销存软件的价值是多少?它能帮企业做什么?
  18. Event-Souring模式
  19. 动态IP与静态IP的区别
  20. 杨振宁与清华计算机系,杨振宁先生与清华

热门文章

  1. Java-----joddhttp使用
  2. 云演CTF刷题 lfi
  3. python字符串的查找
  4. python计算圆周率的方法_用python计算圆周率PI
  5. 哈夫曼树的概念与特点
  6. 红光光浴缓解“缠腰龙”给你健康#大健康#红光光浴#红光#种光光学
  7. 软件开发Share the Cakes
  8. mysql vip切换未重连问题_改良版本的使用keepalived构建高可用mysql-HA
  9. Cesium计算坡度坡向分析
  10. 【总结】1457- 网页动画的十二原则