MongoDB(对比关系型数据库、云数据库、常用命令行、教程)

本文档详细介绍了MongoDB的基本操作,包括安装、数据库管理、集合操作、文档操作及常见命令,如创建数据库、插入数据、查询、更新与删除。MongoDB是一个分布式文件存储的数据库,提供丰富的功能,适合非关系型数据存储。此外,还对比了MongoDB与RDBMS的主要术语,如数据库、集合、文档等。
摘要由CSDN通过智能技术生成

目录

MongoDB

对比RDBMS(术语)

官网安装

MongoDB云数据库

保留数据库名

常用命令行

help

数据库操作

use dbname

show dbs

db.dropDatabase()

db.stats()

db.getMongo()

db.getName()

db.version()

集合操作

db.createCollection("collectionName")

db.getCollectionNames()

db.printCollectionStats()

文档(数据)操作

(插入)db.collectionName.insert([{name:'yf',age:18},{name:'mm',age:null}])

(查找)db.collectionName.find({age:{$gt:3,$lte:5}})

db.collectionName.find({$or:[{name:'yf'},{age:18}]})

db.collectionName.find({name:/^a.*c$/})

db.collectionName.find({},{name:0})

db.collectionName.find({}).sort({age:1})

db.collectionName.find().limit(3).sort({age:1})

db.collectionName.find().skip(2)

db.collectionName.find().count()

db.collectionName.distinct('name')

(修改)db.collectionName.update({name:'yf'},{$set:{age:16}},{upsert:true})

db.collectionName.updateMany({name:'abc'},{$inc:{age:100}})

(删除)db.collectionName.remove({name:'a'},{justOne:true}) 

教程


MongoDB

一个基于分布式文件存储的数据库。介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

对比RDBMS(术语)

RDBMS(关系数据库管理系统) 与 MongoDB 对应的术语:

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

通过下图实例,我们也可以更直观的了解Mongo中的一些概念:

官网安装

Install MongoDB Community Edition — MongoDB Manual

MongoDB云数据库

Cloud: MongoDB Cloud

保留数据库名

默认存在可以直接访问的数据库。

  • admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

常用命令行

help

查看命令提示。

数据库操作

use dbname

创建数据库名为dbname(通常都为小写)

show dbs

显示所有数据库(数据库中无集合的不会显示即刚use创建的数据库不会显示)

db.dropDatabase()

删除当前数据库。 

db.stats()

查看当前使用的数据库信息,包括名字、大小、有多少个集合等。

db.getMongo()

查看当前数据库链接的地址。

db.getName()

查看当前使用的数据库名

db.version()

查看数据库版本

集合操作

db.createCollection("collectionName")

创建集合collectionName。

db.getCollectionNames()

查看当前数据库下所有集合名字。

db.printCollectionStats()

查看当前使用的数据库下所有集合的信息,包括名字、大小、有多少条数据等。

文档(数据)操作

(插入)db.collectionName.insert([{name:'yf',age:18},{name:'mm',age:null}])

在colletionName集合下插入多条数据(当colletionName集合不存在时,会创建该集合再插入数据 )。

(查找)db.collectionName.find({age:{$gt:3,$lte:5}})

显示colletionName集合下所有age大于3小于等于5的数据。不写内容时,为显示所有数据。$gt表示大于,$lt表示小于,$gte表示大于等于,$lte表示小于等于

db.collectionName.find({$or:[{name:'yf'},{age:18}]})

显示colletionName集合下name:'yf'或者age:18的数据。

db.collectionName.find({name:/^a.*c$/})

显示colletionName集合下所有name以a开头以c结尾的数据。

db.collectionName.find({},{name:0})

显示colletionName集合下所有数据,name字段不显示。

db.collectionName.find({}).sort({age:1})

显示colletionName集合下所有数据并按照age的升序排列,-1表示降序,默认为0不排序。

db.collectionName.find().limit(3).sort({age:1})

显示colletionName集合下按照age的升序排列后的前三条数据(注意sort写limit前或后都是先排序后取数据)。

db.collectionName.find().skip(2)

跳过前2条数据,显示colletionName集合下其它所有数据。

db.collectionName.find().count()

显示colletionName集合有多少条数据。

db.collectionName.distinct('name')

显示colletionName集合下所有name对应的值(去重后的)。

(修改)db.collectionName.update({name:'yf'},{$set:{age:16}},{upsert:true})

将colletionName集合下第一个name:'yf'的数据age设置为16,upsert:true表示没找到就创建一条数据(该参数可不写,默认为false)。

db.collectionName.updateMany({name:'abc'},{$inc:{age:100}})

将colletionName集合下所有name:'abc'的数据age增加16。

(删除)db.collectionName.remove({name:'a'},{justOne:true}) 

将colletionName集合下第一个name:'a'的数据删除,justOne:true表示只删除一个(默认为false,可选)。

教程

MongoDB 教程 | 菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值