MongoDB入门语法

MongoDB

docker启动

//打开mongo容器
docker start mongo
//进入mongo容器
docker exec -it mongo mongo  admin
//验证用户
db.auth('root','root')
//第一次登录则在admin库新建超级管理员
db.createUser({ user:'root',pwd:'root',roles:[ { role:'root', db: 'admin'}]});

常见命令

//显示所有数据库
show dbs
//切换数据库
 use runoob
//删除数据库
db.dropDatabase()
//向rubbo库插入数据
db.runoob.insert({"name":"张三"})
//删除集合
db.runoob.drop()
//创建集合
db.createCollection("runoob")
//查看已有集合
show collections或show tables
//插入文档(自动创建集合)
db.mycol2.insert({"name" : "张三"})
//查询文档,query:可选,使用查询操作符指定查询条件,projection 使用投影操作符指定返回的键
db.collection.find(query, projection)
//petty()方法以格式化显示所有文档使得查询出来的数据在命令行中更加美观的显示,不至于太紧凑。
db.collection.find.petty()

查询语句

普通查询

和mysql where语句比较

操作 格式 范例 where
等于 {:} db.col.find({“name”:“张三”}) where name=“张三”
小于 {:{$lt:}} db.col.find({“likes”:{$lt:50}}) where likes < 50
大于 {:{$gt:}} db.col.find({“likes”:{$gt:50}}) where likes > 50
不等于 {:{$ne:}} db.col.find({“likes”:{$ne:50}}) where likes != 50

类似的:

小于或等于 {:{$lte:}}

大于或等于 {:{$gte:}}

and

每个键(key)以逗号隔开,即常规 SQL 的 and 条件

db.col.find({key1:value1, key2:value2}).pretty()
db.col.find({"name":"张三", "pwd":"123456"}).pretty()

or

db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

or 和 and 联合

类似常规 SQL 语句为: 'where likes>50 AND (by = ‘张三’ OR title = ‘MongoDB 教程’)'

db.col.find({"likes": {$gt:50}, $or: [{"name": "张三"},{"pwd": "123456"}]}).pretty()

$type 操作符

$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。

目前支持的类型

类型 数字
Double 1
String 2
Object 3
Array 3
Object id 7
Boolean 8
Null 9
Regular Expression 11
JavaScript 13
Symbol 14
32-bit Integer 16
Timestamp 17
Min key 255
Max key 127

实例

db.col.find({"title":{$type:2}})
或
db.col.find({"title":{$type:'string'}})

Limit()和Skip()

limit()接受一个数字参数,该参数指定从MongoDB读取记录条数

db.COLLECTION_NAME.find().limit(NUMBER)

实例:查找col集合的前两条记录

db.col.find({},{"title":1,_id:0}).limit(2)

skip()接受一个数字参数,跳过指定数量的数据

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

实例,显示第二条文档数据

db.col.find({},{"title":1,_id:0}).limit(1).skip(1)

sort() 方法

通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列

基本语法

db.COLLECTION_NAME.find().sort({KEY:1})

实例

db.col.find().sort({"likes":-1})

索引

索引通常能够极大的提高查询的效率

​ 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构

MongoDB使用createIndex() 方法创建索引

db.collection.createIndex(keys, options)

实例

Key 值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1

db.col.createIndex({"title":1})

createIndex() 方法中你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值