MongoDB学习路程(一)

1.MongoDB的安装

对于这个我就不进行多余的讲解了,我把之前记录的安装MongoDB的笔记放上来,按着上面的步骤来安装应该是没有问题的。

  1. 打开下载MongoDB的链接
    下载安装完成之后配置环境变量 D:\MongoDB\mongodb-win32-x86_64-2008plus-3.4.17-4-g3339fc9385\bin(安装路径自己想放去哪里就放去哪里)

  2. 剩下的配置我的笔记也不是说得很清楚,推荐大家到这篇博客看比较详细的配置信息

2.可视化工具

对于MongoDB也有可视化的工具NoSQL Manager for MongoDB Professional,对于这个工具的使用我也是刚接触一段时间,所以大家想快速上手的话不妨去搜一下它的教程。

3.插入文档

根据我的理解MongoDB的语法类似于javascript,调用方法,传递参数来进行一系列的数据库操作。

我们先使用可视化工具创建一个名为school的库,然后创建一个名为students的集合(在mysql中称之为表),文档(在mysql中称之为数据)我们待会通过语句来创建。

  1. insert(<document>):插入一个文档,参数为一个对象。
db.students.insert(
	{name:'杨五',age:18,school:'广东技术师范大学',friends:['杨一','杨二']}
);
  1. insertMany([<document>,<document>…]):插入多条数据,参数为一个数组。
db.students.insertMany([
	{name:'张三',age:18,school:'广东技术师范大学',friends:['张一','张二']},
	{name:'李四',age:18,school:'广东技术师范大学',friends:['李一','李二']}
]);

经过上述两个操作我们可以看到students集合中多了3条数据
在这里插入图片描述

4.查询文档

  1. find():不传递查询条件的参数默认为查询该集合中全部数据。
db.students.find();

返回students中的全部数据
  1. findOne():只返回一条数据。
db.students.findOne();

返回students中的第一条数据
  1. find(<query>):query为查询的条件对象,如果存在多个条件,则在第一个条件后面进行拼接key:value即可。
db.students.find({name:"张三",sex:"男"})

查询students中姓名为张三且性别为男的学生,即为AND条件
  1. OR条件
    使用到$or这个关键字
db.students.find({
	$or:[{name:"张三"},{name:"李四"}]
})
查询students中姓名为张三或者李四的学生
  1. 比较条件
    $gt:大于,$gte:大于等于,$lt:小于,$lte:小于等于,$ne:不等于
db.students.find({
	age:{$gt:18}
})
查询students中年龄大于18的学生

结合$or

db.student.find({
	$or:[
		{age:{$gt:19}},
		{age:{$lt:17}}
	]
});
查询students中年龄大于19或者年龄小于17的学生
  1. length():返回查询到的数据的个数。
db.students.find().length();
这里需要注意的是length是一个方法,一定要加上括号代表执行这个方法。

开始只讲解较简单的查询数据语句,复杂的查询语句我将在之后的文章中讲到(其实是因为我没学…)

5.修改文档

  1. update(<query>,<update>,<option>):query为查询的条件,update为需要修改的数据,option为配置信息,三个参数都是对象。此处需要注意的是,update()默认只更新查询到的第一条数据,因此需要在option中配置{multi:true}才会修改查询到的所有数据。

在上述创建的集合中再添加3条数据
在这里插入图片描述

要求:把姓名为张三的人的school修改成暨南大学
db.students.update({name:'张三'},{$set:{school:'暨南大学'}},{multi:true});

注意点:$set是字段更新操作符,一定要放在{}之中,需要记住的是这3个参数都是对象。更多操作符我也将放到后面的学习过程中慢慢使用讲解,等不及的可以查看更多更新操作符

  1. updateMany(<query>,<update>):更新多条数据。

6.删除文档

  1. deleteOne(<query>):删除匹配的第一条文档
db.students.deleteOne({name:"张三"});
  1. deleteMany(<query>):删除多条匹配的文档,不传参数默认删除全部文档
db.students.deleteMany({name:"张三"});

注意点:虽然remove()也可以删除文档,但是官方推荐的是deleteOne()和deleteMany()。在查看菜鸟教程时评论中有人说remove()不会真正释放空间,因此不推荐使用。还有一个需要注意的是没有delete()这个方法,使用db.students.delete({})时会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值