Mongodb增删查改教程

本文详述了MongoDB的基本操作,包括如何打开数据库、查看和选择数据库、增删改查数据,以及如何操作集合和文档。通过实例演示了如何插入、更新、删除文档,并提供了查询数据的各种方法。
摘要由CSDN通过智能技术生成

这篇博客主要介绍了 Mongodb 一些常用的操作,包括增删查改。

1. MongoDB 的一些基本概念

(和关系型数据库有点联系,可以类比理解)

关系型数据库MongoDB
数据库数据库(Database)
集合(Collection)
文档(Document),键值对形式
字段(Field),键值对里面的键

2. 命令行使用mongodb的语法

(1)打开mongo
mongo
(2)查看所有数据库
show dbs
(3)选择使用其中一个数据库
use database_name

MongoDB中默认的数据库是test

(4) 增加数据
  • 创建数据库

    use database_name
    db.database_name.insert({})
    

    先使用一个数据库(自动创建,但不会显示出来)

    向数据库中插入数据

  • 创建集合( 表)

    db.createCollection(name,options)
    
    • name: 要创建的集合名称
    • options: 可选参数, 指定有关内存大小及索引的选项

    capped\autoIndexId\size\max

  • 增加一个文档(1行数据)

    db.COLLECTION_NAME.insert(document)
    

    其中:

    document = ({

    ​ name1: value1,

    ​ name2:value2

    })

  • 增加多个文档(多行数据)

    db.COLLECTION_NAME.insertMany([document1,document2,..])
    
(5)删除数据
  • 删除数据库
 db.dropDatabase()

删除当前数据库

删除特定数据库,可以先切换到对应的数据库进行删除

  • 删除集合
db.COLLECTION_NAME.drop()

  • 删除文档
db.COLLECTION_NAME.remove(
   <query>,
   <justOne>
)
(6)更新文档
  • update()方法
    • 用法说明

    update() 方法通过查询到符合条件的文档来进行更新

    db.COLLECTION_NAME.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )
    
    

    参数说明:

    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。
    • 使用例子
    db.COLLECTION_NAME.insert({
          "id":"0001",
          "name": "张三", 
          "balance": "666",
          "photo":"data:image/jpeg;base64,/9j/4AAQSk..."
    })
    
    
    db.col.update({'name':'张三'},{$set:{'name':'张大山'}})
    
    

    这里会将张三的名字改成张大山

  • save()方法
    • 用法说明

      save() 方法通过传入的文档来替换已有文档,识别替换的文档通过唯一标识文档的 “_id”(使用的时候先查询)

      db.COLLECTION_NAME.save(
         <document>,
         {
           writeConcern: <document>
         }
      )
      
      
    • 使用例子

      db.user.save({
      	  "_id" : ObjectId("5d901e6a8e17b5fc6af3455f"),
            "id":"0001",
            "name": "张三", 
            "balance": "666",
            "photo":"data:image/jpeg;base64,/9j/4AAQSk..."
      })
      
      
(7)查询数据
  • 查看所有集合
show collections

  • 查询所有文档
db.COLLECTION_NAME.find().pretty()

  • 查询特定文档
db.COLLECTION_NAME.find(query, projection)

  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值