MongoDB 基本操作

如题,简单记录

 

【注】

1) MongoDB 自动将_id字段设置为主键

2) MongoDB 命令结尾不要打";",是会报错的。

3) Robo 3T  执行命令的快捷键是F5 停止执行快捷键是F6。

正文

查看所有数据库 

show dbs

显示当前操作的数据库

db

查看当前数据库所有集合

show collections

创建新的集合

PS:在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合

db.createCollection("newSet")

删除集合

如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。

db.newSet.drop()

插入文档

db.newSet.insert({"name":"Ashura","age":"10"})

更新文档

db.newSet.update({"name":"Ashura"},{$set:{"name":"ashura"}})
db.newSet.updateOne({"name":"Ashura"},{$set:{"name":"ashura"}})
更新多条相同的文档
db.newSet.updateMany({"name":"Ashura"},{$set:{"name":"ashura"}})
db.newSet.update({"name":"Ashura"},{$set:{"name":"ashura"}},{multi:true})

删除文档

删除单个文档
db.newSet.deleteOne({"name":"Ashura"})
删除多个文档
db.newSet.deleteMany({"name":"Ashura"})
删除集合下的全部文档
db.inventory.deleteMany({})

查询文档

db.newSet.findOne({"name":"Ashura"})
db.newSet.find({"name":"Ashura"})

limit()、skip()、 sort()

limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
skip()方法同样接受一个数字参数作为跳过的记录条数。
skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()

查询"_id"字段倒序排列
db.newSet.find().sort({"_id":-1})
ps:"1"为升序排列,而"-1"是用于降序排列

newSet集合下 根据"_id"字段倒序查询除去前2条记录的5条记录
db.newSet.find().sort({"_id":-1}).limit(5).skip(2)

条件操作符

$gt 大于
$lt 小于
$gte 大于等于
$lte 小于等于

查找"_id"大于等于2小于等于10的记录
db.newSet.find({"_id":{$gte:2,$lte:10}})

备份、恢复数据库

命令行操作,-h 服务器地址 -d 数据库名字 -o 存放路径 

备份数据库
mongodump -h localhost -d ashura -o G:\MongoDB\backup
根据备份文件恢复数据库
mongorestore -h localhost -d ashura G:\MongoDB\backup\ashura

 

PS:以后有需要再补充……

 

其他链接:

【MongoDB】3.详细命令集合:https://www.cnblogs.com/sxdcgaq8080/p/6145541.html

mongodb远程连接以及备份、还原、导出、导入:http://www.cnblogs.com/zengguowang/p/5588583.html

 

MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:使用JSON风格语法,易于掌握和理解:MongoDB使用JSON的变种BSON作为内部存储的格式和语法。针对MongoDB的操作都使用JSON风格语法,客户端提交或接收的数据都使用JSON形式来展现。相对于SQL来说,更加直观,容易理解和掌握。Schema-less,支持嵌入子文档:MongoDB是一个Schema-free的文档数据库。一个数据库可以有多个Collection,每个Collection是Documents的集合。Collection和Document和传统数据库的Table和Row并不对等。无需事先定义Collection,随时可以创建。Collection中可以包含具有不同schema的文档记录。 这意味着,你上一条记录中的文档有3个属性,而下一条记录的文档可以有10个属性,属性的类型既可以是基本的数据类型(如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档(embed document)。这样,可以实现逆规范化(denormalizing)的数据模型,提高查询的速度。图1 MongoDB是一个Schema-free的文档数据库图2是一个例子,作品和评论可以设计为一个collection,评论作为子文档内嵌在art的comments属性中,评论的回复则作为comment子文档的子文档内嵌于replies属性。按照这种设计模式,只需要按照作品id检索一次,即可获得所有相关的信息了。在MongoDB中,不强调一定对数据进行Normalize ,很多场合都建议De-normalize,开发人员可以扔掉传统关系数据库各种范式的限制,不需要把所有的实体都映射为一个Collection,只需定义最顶级的class。MongoDB的文档模型可以让我们很轻松就能将自己的Object映射到collection中实现存储。图2 MongoDB支持嵌入子文档简单易用的查询方式:MongoDB中的查询让人很舒适,没有SQL难记的语法,直接使用JSON,相当的直观。对不同的开发语言,你可以使用它最基本的数组或散列格式进行查询。配合附加的operator,MongoDB支持范围查询,正则表达式查询,对子文档内属性的查询,可以取代原来大多数任务的SQL查询。CRUD更加简单,支持in-place update:只要定义一个数组,然后传递给MongoDB的insert/update方法就可自动插入或更新;对于更新模式,MongoDB支持一个upsert选项,即:“如果记录存在那么更新,否则插入”。MongoDB的update方法还支持Modifier,通过Modifier可实现在服务端即时更新,省去客户端和服务端的通讯。这些modifer可以让MongoDB具有和Redis、Memcached等KV类似的功能:较之MySQL,MonoDB更加简单快速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小骷髅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值