数据库使用

开启 mongodb 服务:要管理数据库,必须先开启服务,开启服务使用 mongod --dbpath D:\mongodb

管理 mongodb 数据库:mongo (一定要在新的 cmd 中输入)

清屏

cls

查看所有数据库列表

show dbs 

创建数据库

使用数据库、创建数据库

use student 

如果真的想把这个数据库创建成功,那么必须插入一个数据。
数据库中不能直接插入数据,只能往集合(collections)中插入数据。不需要专门创建集合,只 需要写点语法插入数据就会创建集合:

db.student.insert({"name":"xiaoming"}); 


db.student 系统发现 student 是一个陌生的集合名字,所以就自动创建了集合。

显示当前的数据集合(mysql 中叫表)

show collections 

删除数据库,删除当前所在的数据库

db.dropDatabase();

删除集合,删除指定的集合 删除表

删除集合 db.COLLECTION_NAME.drop()
db.user.drop() 

插入(增加)数据

插入数据,随着数据的插入,数据库创建成功了,集合也创建成功了。

db.表名.insert({"name":"zhangsan"});    student 集合名称(表) 

查找数据

查询所有记录

db.userInfo.find();
相当于:select* from userInfo; 

查询去掉后的当前聚集集合中的某列的重复数据

db.userInfo.distinct("name");
会过滤掉 name 中的相同数据 相当于:select distict name from userInfo; 

查询 age = 22 的记录

db.userInfo.find({"age": 22});
相当于: select * from userInfo where age = 22; 

查询 age > 22 的记录

db.userInfo.find({age: {$gt: 22}});
相当于:select * from userInfo where age >22; 

查询 age < 22 的记录

db.userInfo.find({age: {$lt: 22}});
相当于:select * from userInfo where age <22; 

查询 age >= 25 的记录

db.userInfo.find({age: {$gte: 25}});
相当于:select * from userInfo where age >= 25; 

查询 age <= 25 的记录

db.userInfo.find({age: {$lte: 25}}); 

查询 age >= 23 并且 age <= 26

注意书写格式

db.userInfo.find({age: {$gte: 23, $lte: 26}}); 

查询 name 中包含 mongo 的数据

模糊查询用于搜索

db.userInfo.find({name: /mongo/}); 
//相当于%%
select * from userInfo where name like '%mongo%'; 

查询 name 中以 mongo 开头的

db.userInfo.find({name: /^mongo/});
select * from userInfo where name like 'mongo%'; 

查询指定列 name、age 数据

db.userInfo.find({}, {name: 1, age: 1});
相当于:select name, age from userInfo; 

当然 name 也可以用 true 或 false,当用 ture 的情况下河 name:1 效果一样,如果用 false 就 是排除 name,显示 name 以外的列信息

查询指定列 name、age 数据, age > 25

db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相当于:select name, age from userInfo where age >25; 

按照年龄排序 1 升序 -1 降序

升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1}); 

查询 name = zhangsan, age = 22 的数据

db.userInfo.find({name: 'zhangsan', age: 22});
相当于:select * from userInfo where name = 'zhangsan' and age = '22'; 

查询前 5 条数据

db.userInfo.find().limit(5);
相当于:selecttop 5 * from userInfo; 

查询 10 条以后的数据

db.userInfo.find().skip(10);
相当于:select * from userInfo where id not in (
selecttop 10 * from userInfo
); 

查询在 5-10 之间的数据

db.userInfo.find().limit(10).skip(5);
可用于分页,limit 是 pageSize,skip 是第几页*pageSize 

or 与 查询

db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25; 

findOne 查询第一条数据

db.userInfo.findOne();
相当于:selecttop 1 * from userInfo;
db.userInfo.find().limit(1);

查询某个结果集的记录条数 统计数量

db.userInfo.find({age: {$gte: 25}}).count();
相当于:select count(*) from userInfo where age >= 20;
如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0)  db.users.find().skip(10).limit(5).count(true);   

修改数据

update() 方法用于更新已存在的文档

update() 方法用于更新已存在的文档。语法格式如下:

db.collection.update(<query>,<update>,{upsert: <boolean>,multi: <boolean>,writeConcern: <document>}
)
  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如,<script type="math/tex" id="MathJax-Element-12">,</script>inc…)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

修改里面还有查询条件。你要该谁,要告诉 mongo。 查找名字叫做小明的,把年龄更改为 16 岁:

db.student.update({"name":"小明"},{$set:{"age":16}}); 

查找数学成绩是 70,把年龄更改为 33 岁:

db.student.update({"score.shuxue":70},{$set:{"age":33}}); 

更改所有匹配项目:
以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true}); 

完整替换,不出现$set 关键字了: 注意

db.student.update({"name":"小明"},{"name":"大明","age":16}); 
db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true); 相当于:update users set age = age + 50 where name = 'Lisi'; 
db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true); 相当于:update users set age = age + 50, name = 'hoho' where name = 'Lisi'

只更新第一条记录:

db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );

全部更新:

db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );

只添加第一条:

db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );

全部添加加进去:

db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );

全部更新:

db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );

只更新第一条记录:

db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );

在3.2版本开始,MongoDB提供以下更新集合文档的方法:

db.collection.updateOne() 向指定集合更新单个文档
db.collection.updateMany() 向指定集合更新多个文档

更新单个文档

db.test_collection.updateOne({"name":"abc"},{$set:{"age":"28"}})

更新多个文档

db.test_collection.updateMany({"age":{$gt:"10"}},{$set:{"status":"xyz"}})

删除数据

remove() 方法的基本语法格式如下所示:

db.collection.remove(<query>,<justOne>
)

如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:

db.collection.remove(<query>,{justOne: <boolean>,writeConcern: <document>}
)

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。
db.collectionsNames.remove( { "borough": "Manhattan" } ) 
db.users.remove({age: 132}); 
db.restaurants.remove( { "borough": "Queens" }, { justOne: true } ) 

MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查相关推荐

  1. 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  2. list vue 添加数据方法_一篇文章教会你创建vue项目和使用vue.js实现数据增删改查...

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  3. Django实现对数据库数据增删改查(二)

    目录 1.基本框架 1.1.路由分发 1.2.视图函数-逻辑处理 1.3.模板 2.查询功能 2.1.视图函数 2.2.模板函数 3.添加功能 3.1.路由分发 3.2视图函数 3.3.模板 4.编辑 ...

  4. 数据库数据增删改查练习题(1)——学生选课数据库

    数据库数据增删改查练习题(1)--学生选课数据库 基本数据表 S(SNO,SNAME,AGE,SEX)学生 C(CNO,CNAME,TEACHER)课程 SC(SNO,CNO,GRADE)选课 练习题 ...

  5. crmeb从创建数据表到实现最基础增删改查的实现全过程【带附件】

    很多使用了 CRMEB 单商户系统的童鞋在进行二开的时候,都会遇到新建了数据表之后不知道对数据表怎么进行操作.那么,这篇文章将带你完整的实现一遍,以后就不会怕啦. 创建数据表 就以最简单的为例,创建一 ...

  6. mysql数据库删除列数据_MySQL数据库-数据表、以及列的增删改查

    1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNODB引擎,INNODB引擎支持事务(回滚), ...

  7. node.js编写前端接口,服务器创建、数据库连接、路由挂载,增删改查、分页查询接口的编写

    1.文件准备 我们要准备三个文件来演示最基础的服务器创建.数据库连接路由挂载,增删改查.分页查询接口的编写.其中服务器创建单独一个文件为app.js,数据库连接为一个文件为pool.js,最后一个为接 ...

  8. Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句...

    我用的数据库是MySQL,实体类叫User public class User {private Integer uid;private String username;private String ...

  9. MongoDB从立地到成佛(介绍、安装、增删改查)

    目录 课程导学 第一关 MongoDB介绍 1.1 非关系型数据库 1.2 MongoDB的特点 1.3 MongoDB的应用场景 第二关 MongoDB安装和表结构 2.1 MongoDB的安装 2 ...

  10. mongodb安装、远程访问设置、管理命令、增删改查操作以及GUI

    一般来说,mongodb不应该用于复杂的多表查询.统计报表,主要用于简单的增删改查,例如各种日志和结构易变的管理信息.在oracle 12c称为主流.或使用了postgresql时,就没有太大必要使用 ...

最新文章

  1. 【转载】如何:为 Windows Phone 创建警报和提醒
  2. 新年图书整理和相关的产品
  3. 基础练习 十六进制转十进制 c语言
  4. SAP Hybris Enterprise Commerce Platform ECP和SAP CRM架构比较
  5. Java学习——Java运算符
  6. Linux主机通过直连线直连,【IT基础】网线的直连线与交叉线之间的区别
  7. 如何用Python读取Excel中图片?又如何用Python往Excel中写入图片?
  8. ASP.NET MVC中在Action获取提交的表单数据方法总结 (4种方法,转载备忘)
  9. Linux命令英文全称解释【转载】
  10. 云原生 CI/CD 框架 Tekton 初体验
  11. 使用dom4j来解析相关的xml字符串
  12. 0 full gc时cpu idle_结合GC日志讲讲CMS垃圾收集器
  13. 西门子s7删除注册表,西门子S7200编程软件卸载步骤
  14. endnote修改正文中参考文献标注_如何在Endnote中修改参考文献格式
  15. Win10电脑怎么取消开机密码?
  16. yolov5训练时的dataset not found
  17. 如果应用闪退,怎么获取相关日志?
  18. 《枪炮、病菌与钢铁》读后感
  19. 如何带团队,怎么带团队。
  20. 安卓手机合并内存卡到内置存储

热门文章

  1. 程序员在家办公(摸鱼)的各种姿势!
  2. java书籍管理系统(单链表实现)
  3. java word 读取密码_用Java打开受密码保护的Word文件?
  4. 动物分类name,bloodType,giveBirth,canFly,liveInWater
  5. 趣头条自媒体一万阅读多少钱,趣头条自媒体收益高吗
  6. 10款Web程序员必备的CSS工具
  7. 模型导入Qt 3D Studio
  8. Windows资源管理器图标自定义
  9. 不同频道毫米波传感器对比
  10. Vue父子组件互相通信实例