Mongodb入门

在Mongodb入门之前,我们先来了解一下Mongodb的一些基本概念。
文档(document):文档是Mongodb中数据的基本单元,非常类似于关系数据库中的行。在Mongodb中多个键及其关联的值有序地放置在一起便是文档。在文档中的键/值对是有序的。(即内容相同,键/值对顺序不同也被看成是不同的文档)
集合(map):集合可以被看做是没有模式的表。集合基本上是由文档组成。
今天先来了解一下mongodb的基本CRUD操作,本篇中的操作相对都是比较宽泛的说明,以后的篇幅中再针对mongodb的各种操作做详细的描述。

运行mongo
运行mongodb非常简单,直接输入mongo命令即可。


在上图中我们可以看到mongodb使用帮助非常简单,直接使用help命令就能够查看相应的帮助。

使用help命令之后我们可以看到大致的命令有上面那几大类。
db.help()可以查看db方面操作的帮助,db.mycoll().help()可以查看集合操作方面的帮助

上图只截取了一部分集合操作

在命令行中使用mongodb的CRUD操作
切换数据库,此处我们使用db_training这个数据库。


1、文档创建操作
mongodb使用insert命令往集合中插入文档,命令格式如下:


假设我们要在db_training这个数据库中集合student_info这个集合中存储学生的文档,学生信息类似如下结构
{"stu_no":"20140010001", "name":"zhangsan", "gender":"man"}


db.student_info.insert({"stu_no":"20140010001", "name":"zhangsan", "gender":"man"})

接下来我们再往该集合中再多插入几个文档

这样我们就把4个文档插入到集合student_info中了,接下来就要使用查询操作来查询一些相关的文档信息了。

2、文档查询操作
mongodb中涉及到的查询以及与查询相关的操作大都以find开头


向集合中写入文档之后,我们接下来就是需要从文档中查找刚才写入到集合中的文档信息了。




mongodb中使用find和findOne操作来查询集合中的文档信息,在集合中还可以使用查询条件语句来查询指定范围的文档信息,比如要查询学号为201400100001这个条件的学生信息就可以使用如下操作
db.student_info.find({"stu_no":"20140010001"})

3、文档更新操作
mongodb中文档更新操作使用update命令


从上面可以看到update至少需要接受两个参数:第一个是要更新文档的限定条件(即筛选条件),第二个是新的文档( 请注意,这里指的是新的文档,即用新文档替换原有文档的内容)。
假设我们需要把stu_no=20140010001的这个文档修改为{"stu_no":"20140010001", "name":"zhangsan"}则可以使用如下操作
db.student_info.update({"stu_no":"20140010001"},{"stu_no":"20140010001", "name":"zhangsan"})



对比一下就可以看到,stu_no=20140010001的这个文档已经由原来的
{"stu_no":"20140010001", "name":"zhangsan", "gender":"man"}
变成了
{"stu_no":"20140010001", "name":"zhangsan"}

但大部分情况下我们需要的并不是把整个文档给替换,而是针对文档中的一部分做更新操作。比如把stu_no=20140010003的这个学生的性别更改为man,这种情况下我们需要用到一个操作$set(后面的文章中再详细讲解一下这些细节),操作命令如下
db.student_info.update({"stu_no":"20140010003"}, {"$set":{"gender":"man"}})


可以看到使用$set进行约束之后,只更新了文档中指定的内容,而不是把整个文档给替换了。

4、文档删除操作
mongodb中使用remove操作来从一个集合中删除某些文档


假设我们要删除学号为20140010004的这个学生的信息
db.student_info.remove({"stu_no":"20140010004"})



同样我们也可以使用不带参数的remove操作,这种情况下会删除整个集合中的所有文档

好了,关于mongodb最基本的CRUD操作就讲到这里。本篇只是大致讲了一下关于mongodb最基本的CRUD操作,让大家对mongodb有一个初步的认识,后面我会继续把每种操作都详细进行讲解一下,希望大家支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值