专栏首页陈琛的Redis文章MongoDB入门系列——4.基本操作(增删改查)

MongoDB入门系列——4.基本操作(增删改查)

目录

⊙概念整理

⊙数据库:一个MongoDB中可以建立多个数据库。

⊙集合:MongoDB的文档组。

⊙文档:实际存放数据的地方。

⊙常见的操作

⊙数据库(新增,删除)

⊙集合(新增,编辑,删除)

⊙文档(增删改查)重点

⊙查询文档

⊙新增文档(objectId)

⊙编辑文档(set为部分更新,括号里面没有的保持原样)

⊙按多种条件查询(条件操作符)

上面我们已经安装MongoDB数据库,并且也用Studio 3T连接上了,那么接下来我们就要正式的学习他啦。

概念整理

数据库:一个MongoDB中可以建立多个数据库。

集合:MongoDB的文档组。

文档:实际存放数据的地方。

常见的操作

1

数据库(新增,删除)

咱先创建一个数据库,右击连接,选择“Add Datebase”选项,在弹出框中输入数据库的名称,就新增了一个“hello-database”的数据库,步骤如下图。

如果想要删除这个数据库,直接在该数据库上右击,在弹出框中选择“Drop database”就可以啦。

2

集合(新增,编辑,删除)

我们先建立一个集合,右键Collections,选择“Add Collection”,在弹框中输入名称,就新增了一个集合。步骤如下:

如果我们想要编辑或删除该集合,直接右键就可以。

3

文档(增删改查)重点

a.查询文档

我们直接双击之前新建的集合,就直接显示了他的查询结果页面。点击查询即可。

我们现在已经可以知道find关键字是查询的意思。

b.新增文档(objectId)

我们可以通过insert语句来新增一条数据,看底下的打印信息,我们已经可以知道数据新增成功啦。

新增成功后,我们来看一下数据,发现数据已经可以查询出来啦。而标红的地方是数据不同的显示方式,可以玩玩。

注意:在上面有没有发现一个小问题,就是新增的时候为什么要写“_id”,为什么不直接写id呢?话不多说,我们来试试。

结果是也可以新增成功,我们来看一下查询出来的结果,标红的是我们刚才新增的数据,发现多了一个_id字段,类型为ObjectId,并且这个数据不是我们指定的,这也就是说MongoDB采用了一个称之为ObjectId的类型来做主键。

c.编辑文档(set为部分更新,括号里面没有的保持原样)

我们要编辑id为1,name为张三的用户,将其名字改为李四,就使用update关键字来实现。并且multi参数表示是否至编辑一条数据,true为编辑所有满足条件的数据,false为只编辑一条满足条件的数据。

如果要编辑所有数据的名称,update后面的参数不用写就行啦。如下图

d.按多种条件查询(条件操作符)

$gt

greater than >

$gte

gt equal >=

$lt

less than <

$lte

lt equal <=

$ne

not equal !=

$eq

equal =

举个列子,现在数据库里面存放的数据是下图,比如查询用户名称不等于张三的用户。

比如要查询数据库中数据的数量,如下图。

本文分享自微信公众号 - 学习Java的小姐姐(huangtest01),作者:学习Java的小姐姐

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL的万字总结(缓存,索引,Explain,事务,redo日志等)

    hello,小伙伴们,好久不见,MySQL系列停更了差不多两个月了,也有小伙伴问我为啥不更了呢?其实我去看了MySQL的全集,准备憋个大招,更新篇长文(我不会告...

    陈琛
  • MongoDB进阶系列——4.事务管理

    最后我们看一下MongoDB的事务管理,本来是没这一篇的,因为网上大部分资料太老,都为MongoDB之前的版本,的确在MongoDB 4.0版本之前是没有事务管...

    陈琛
  • 不要为了“分库分表”而“分库分表”

    当数据库的数据量过大,大到一定的程度,我们就可以进行分库分表。那么基于什么原则,什么方法进行拆分,这就是本篇所要讲的。

    陈琛
  • Windows环境下使用pip inst

    lxml是Python语言和XML以及HTML工作的功能最丰富和最容易使用的库。lxml是为libxml2和libxslt库的一个Python化的绑定。它与众不...

    py3study
  • 面试官:为什么mysql不建议执行超过3表以上的多表关联查询?

    前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop...

    本人秃顶程序员
  • 2015年雇主最看重的技能,你有几项?

    现如今单纯靠一张大学文凭就想找到好工作已不太可能。事实上,雇主们招聘更关注的是有价值的软实力。

    用户1756920
  • 集思广益-生存分析可以随心所欲根据表达量分组吗

    根据基因表达量的中位值把样本分成高低表达量的组别,然后做生存分析是比较符合大家的直觉的。

    生信技能树
  • ARKit 进阶:材质

    光照与材质,是决定 3D 世界中的模型如何渲染的关键参数。许多时候模型的渲染对与不对,往往只是一种视觉的感受。由于不是测试驱动的,所以多数情况下,考验的不是你的...

    郭艺帆
  • 会打字就能学

    这是一位CSDN知名博主,仅用一年的时间就达到了10%的人一生也难以企及的高度,如果你悄悄的点了一个关注,那么恭喜你,你离全国首富就差一个马总了。

    我不是费圆
  • 【Python 第23课】 if, elif, else

    今天补充之前讲过的一个语句:if。为什么我跳要着讲,因为我的想法是先讲下最最基本的概念,让你能用起来,之后你熟悉了,再说些细节。 关于if,可以发送数字『7』回...

    Crossin先生

扫码关注云+社区

领取腾讯云代金券