资讯专栏INFORMATION COLUMN

Mongodb语法初识(一)

levy9527 / 1181人阅读

摘要:命令检查创建的集合命令从数据库中删除集合。命令从集合查询数据将在非结构化的方式显示所有的文件。如果显示结果是格式化的,那么可以用除了方法还有方法,仅返回一个文档。文档排序方法,方法接受一个包含字段列表以及排序顺序的文档。

MongoDB启动服务器

第一步:下载安装包

第二步:解压下载到的安装包,找到bin目录下面全部.exe文件

第三步:在该目录下新建“data”文件夹,它将会作为数据存放的根文件夹。

第四步:打开CMD窗口,切换到该目录下,按照如下方式输入命令:mongod --dbpath G:MongoDBdata

第四步:测试是否启动,http://localhost:27017/

MongoDB 插入文档

db.collection_name.insert(document) , 使用 insert()save() 方法向集合中插入文档,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

MongoDB 可以将数据定义为一个变量,执行插入操作:db.col.insert(document),如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

MongoDB 语法

use database_name命令:如果数据库不存在,则创建数据库,否则切换到指定数据库(默认为 test)

db.dropDatabase()命令: 删除当前数据库,默认为 test

show dbs 命令:查看所有数据库

db 命令: 查看当前数据库名。

db.createCollection(name, options)命令:创建集合

MongoDB中并不需要创建集合。 当插入一些文档 MongoDB 会自动创建集合。db.yiibai.insert({"name" : "yiibai"})

show collections 命令:检查创建的集合

db.collection_name.drop() 命令:从数据库中删除集合。

db.collection_name.find()命令:从集合查询MongoDB数据

find() 将在非结构化的方式显示所有的文件。 如果显示结果是格式化的,那么可以用db.collection_name.find().pretty()
除了find()方法还有findOne()方法,仅返回一个文档。

MongoDB投影,只选择需要的数据,而不是选择整个一个文档的数据​。db.collection_name.find({},{KEY:1})

db.mycol.update({key1:value1},{$set:{key2:value2}})命令:将现有的文档中的值更新

默认情况下,MongoDB将只更新单一文件,更新多,需要一个参数 "multi" 设置为 truedb.mycol.update({"title":"MongoDB Overview"},{$set:{"title":"New MongoDB Tutorial"}},{multi:true})

db.mycol.remove(DELLETION_CRITTERIA)命令:用于从集合中删除文档

db.mycol.remove()命令:删除所有文件

RDBMS Where子句等效于MongoDB

AND条件:使用db.mycol.find({key1:value1, key2:value2}).pretty()命令

OR条件:使用db.mycol.find({$or: [{key1: value1}, {key2:value2}]}).pretty(),需要使用$or关键字

使用 AND 和 OR条件:使用db.mycol.find({"likes": {$gt:10}, $or: [{key1:value1}, { key2:value2}] }).pretty()命令

记录:Limit() 方法,db.collection_name.find().limit(NUMBER),skip()也接受数字类型参数并用于跳过文件数。

db.collection_name.find().limit(NUMBER).skip(NUMBER)

文档排序:sort()方法, sort() 方法接受一个包含字段列表以及排序顺序的文档。 要使用1和-1指定排序顺序。1用于升序,而-1是用于降序。

db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})

MongoDB索引:使用db.mycol.ensureIndex({"title":1,"description":-1})

索引支持查询高效率执行,索引是特殊的数据结构,存储在一个易于设置遍历形式的数据的一小部分。索引存储在索引中指定特定字段的值或一组字段,并排序字段的值。

MongoDB 聚合:使用db.yibai.aggregate([{$group:{_id:"$name",num:{$sum:1}}}])

上述用途将等效于sql查询:select name, count(*) from mycol group by name

MongoDB 复制: 通过使用副本集的复制来实现。副本集是一组承载同一个数据集的mongod实例。在副本的一个节点是接收所有的写操作主节点。所有的实例,次级,应用操作从主以便它们具有相同的数据集。副本集只能有一个主节点。

聚集表达式

$sum :从集合累加所有文档中的定义值

$avg : 从集合中的所有文档计算所有给定值的平均值

$min : 从集合中获取的所有文件的最小的相应值

$max :从集合中的所有文档中的相应值中获取最大值

$push : 插入数组值到文档中

$addToSet :插入值所产生的数组到文档中,但不会产生重复

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19574.html

相关文章

  • 初识MongoDB分片

    摘要:复制一份,命名为,修改文件内容如下注意改为我们第一步创建的目录,端口号改为这个随意,只要该端口没被占用即可,表示这是一个配置服务器,另外由于我们的配置服务器要做成备份集,所以要设置。 分片是指将数据拆分,拆分后存放在不同的机器上的过程,以此来降低单个服务器的压力,同时也解决单个服务器硬盘空间不足的问题,让我们可以用廉价的机器实现高性能的数据架构。有的小伙伴不理解分片和副本集的差异,一言...

    Nino 评论0 收藏0
  • mongoDB查询进阶】聚合管道() -- 初识

    摘要:小结是聚合管道查询使用的方法,参数是数组,每个数组元素就是一个,中运用操作符对数据进行处理后再交由下一个,直到没有下个,就输出最终的结果,而数据的处理则是通过使用操作符,本文先简单介绍了一下有哪些常用的操作符,下一篇再详细说明。 前言:一般查询可以通过find方法,但如果是比较复杂的查询或者数据统计的话,find可能就无能为力了,这时也许你需要的是aggregate. 什么是聚合管道(...

    MSchumi 评论0 收藏0
  • MongoDB初识

    摘要:价格目前的非关系型数据库基本都是免费的功能实际开发中,很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。目的是为应用提供扩展的高性能的数据存储方案。我们平时大多还是使用修改器来修改下一节我们来认识修改器 我们先来了解一下非关系型数据库和关系型数据库,首先需要了解一下关系型数据库,比如,我们所熟知的 Oracle、mysql等。 关系型数据库和非关系型数...

    NotFound 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    宋华 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<