Mongodb部分shell操作指令

本文介绍了MongoDB的基本操作,包括启动服务器、查看和删除数据库、创建集合、插入和更新数据。详细讲解了排序方法sort,更新操作以及各种数据类型。还涵盖了高级查找,如正则表达式匹配和比较运算符的使用,以及查询技巧如Limit和Skip。最后讨论了$sort进行排序的操作。
基本操作

启动服务器 `sudo service mongdb

查看当前库 db

查看所有的数据库 sh ow dbs

删除当前的数据库db.dropDatabase()

观察集合show collections

删除集合db.集合名字.drop()db是当前数据库

创建数据库 use xxx # 要插入数据后才会创建

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

  • 例如db.createCollection("stu")
  • 例如db.createCollection("sub", {capped:true,size:10})参数capped :默认是false表示不设置上限,true表示设置上限,参数size:当capped是true时,需要指定参数,表示上限大小,超出上限会覆盖原有的值,单位:字节。(一般不会去设置上限)

插入数据db.集合名.insert({"name":"xiaowang","age":10})db.集合名.insert({name:"xiaohong"}) _id存在则报错

查看数据db.集合名.find()

插入更新数据save() _id如果存在可以更新

更新数据db.集合名.update({旧数据},{新数据})

排序
  • sort方法

    参数1为升序排序

    参数-1为降序排序

    先排序字段1再排序字段2

    db.集合名字.find().sort({字段:1,字段2:-1})

更新操作

db.test1000.update({'name': "xiaowang"}, {"name":xiaozhang})

把name为xiaowang 的数据代替为{'name':'xiaozhang'}

db.test1000.update({'name':'xiaohong'},{$set:{'name':'xiaozhao'}})

把name为xiaohong的数据更新为xiaozhang $指定一个键或者值

删除集合某个内容操作

db.test1000.remove

数据类型

Object ID:文档ID

String:字符串,最常用

Boolean: 存储一个布尔值,是小写的

Integer : 整数可以害死32位或64位,这取决于服务器

Double:存储浮点值

Arrays:数组或列表,多个值存储到一个键

Object:用于嵌入的文档,即一个值位一个文档

Null :存储Null值

Timestamp:时间戳,表示liunx总秒数

Date:存储当前日期或时间得UNIX时间格式

高级查找

正则匹配

  • 开头匹配db.集合名.find({sku:/^abc/})

  • 结尾匹配db.集合名.find({sku:{$regex:'789'}})

  • findone返回一个

  • pretty()

  • Limit()用于读取指定数量

  • skip()用于跳过指定数量的文档

比较运算符

小于 :$lt

小于等于:$lte

大于:$gt

大于等于:$gte

不等于:$ne

db.stu.find({age:{$gte:18}})

范围$in在范围内

不在范围$nin不在范围内

db.stu.find{age:{$in:[15,25,57]}}

or :使用$or

db.stu.find({$or[{age:18},{time:2018}]})

$sort
  • 将输入文档排序后输出

  • 查询学生信息,按年龄产升序

b.stu.aggregate({$ sort:{age:1}})
  • 查询男生,女生人数,按人数降序排序
db.stu.aggreagate(

{$group:{ id:'$gender', counter:{$sum:1}}},

{$sort:{counter:-1}}

)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值