mongoDB快速入门

安装

下载地址:https://www.mongodb.com/try/download/community

概念对比

| SQL概念 | MongoDB概念 | 解释/说明 | | ----------- | ----------- | ----------------------------------- | | database | database | 数据库 | | table | collection | 数据库表/集合 | | row | document | 数据记录行/文档 | | column | field | 数据字段/域 | | index | index | 索引 | | primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |

基础命令

数据库
  • 查看所有数据库:show dbs

  • 查看当前数据库:db

  • 切换数据库:use <db_name>,如:use test

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

集合
  • 查看所有集合:show collections

  • 创建集合:db.createCollection("<collection_name>"),如:db.createCollection("article")

  • 删除集合:db.<collection_name>.drop(),如:*db.article.drop()*

文档

插入文档

db.collection_name.insert(document)

shell db.article.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'Andy', url: 'https://www.mongodb.com/', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })

更新文档

javascript db.collection_name.update( <query>, // 查询条件,类似于SQL中的WHERE部分 <update>, // 类似与SQL中的SET部分 { multi: <boolean> // 是否更新符合条件的所有文档,默认false只更新找到的第一条 } )

```shell

将title为‘MongoDB 教程’的所有文档修改为MongoDB

db.article.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true}) ```

删除文档

shell db.collection_name.remove( <query> # 删除的查询条件 )

```shell

删除title为'MongoDB教程’的所有文档

db.article.remove({'title':'MongoDB 教程'}) ```

查询文档

MongoDB中的条件操作符,通过与SQL语句的对比来了解下;

| 操作 | 格式 | SQL中的类似语句 | | ---------- | ------------------------ | ------------------------------ | | 等于 | {key : value} | where title = 'MongoDB 教程' | | 小于 | {key : {$lt : value}} | where likes < 50 | | 小于或等于 | {key : {$lte : value}} | where likes <= 50 | | 大于 | {key : {$gt : value}} | where likes > 50 | | 大于或等于 | {key : {$gte : value}} | where likes >= 50 | | 不等于 | {key : {$ne : value}} | where likes != 50 |

  • 查看某集合下的所有文档:db.collection_name.find({}),如db.article.find({})

  • 条件查询,查询title为MongoDB教程的所有文档:db.article.find({'title':'MongoDB教程'})

  • 条件查询,查询likes大于50的所有文档:db.article.find({'likes':{$gt:50}})

  • and条件可以通过在find()方法传入多个键,以逗号隔开来实现,例如查询title为MongoDB教程并且by为Andy的所有文档:

    shell db.article.find({'title':'MongoDB教程','title':'MongoDB教程'})

  • or条件可以通过使用$or操作符实现,例如查询title为Redis教程MongoDB教程的所有文档

    shell db.article.find({$or:[{"title":"Redis 教程"},{"title": "MongoDB 教程"}]})

  • and 和 or 条件的联合使用,例如查询likes大于50,并且title为Redis教程或者"MongoDB教程的所有文档

    shell db.article.find({"likes": {$gt:50}, $or: [{"title": "Redis 教程"},{"title": "MongoDB教程"}]})

limit

读取指定数量的文档 db.collection_name.find().limit(n)

shell db.article.find().limit(2) #只查询article集合中的2条数据

skip

跳过指定数量的文档:db.article.find().skip(2).limit(2)

排序

db.collection_name.find().sort({key:1}),1为升序,-1为降序

shell db.article.find().sort({likes:-1}) # 将article集合中文档的likes字段降序排列

索引

```shell db.collection.createIndex(keys, options)

background:建索引过程会阻塞其它数据库操作,设置为true表示后台创建,默认为false

unique:设置为true表示创建唯一索引

name:指定索引名称,如果没有指定会自动生成

```

  • 给title和description字段创建索引,1表示升序索引,-1表示降序索引,指定以后台方式创建;

shell db.article.createIndex({"title":1,"description":-1}, {background: true})

  • 查看article集合中已经创建的索引

shell db.article.getIndexes()

正则表达式

MongoDB使用$regex操作符来设置正则表达式,可以用来模糊查询

  • db.article.find({title:{$regex:"教程"}})

    shell db.article.find({ title:{$regex:"教程"} })

  • 不区分大小写的模糊查询,使用$options操作符

    shell db.article.find({ title:{$regex:"教程", $options:"$i"} })

相关文章

https://juejin.cn/post/6844904150635921422#heading-14

https://juejin.cn/post/7126746699527094303#heading-54

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值