MongoDB基本操作命令

1. 基本操作

  1. 进入指定的数据库:use 数据库

    如果数据库不存在,则创建数据库,否则切换到指定数据库

  2. 显示所有的数据库:show dbs

    数据库中没有数据时,在数据库列表中并不显示

  3. 显示数据库中所有的集合:show collections

    创建集合(数据表)后要插入一个文档(记录),集合才会真正创建

  4. 显示当前所在的数据库:db

    默认的数据库为test,如果没有创建新的数据库,集合将存放在test数据库中

2. 向数据库中插入文档

  1. 向集合中插入一个或多个文档:db.collection.insert()db.collection.save()

    如果不指定 _id字段save()方法类似于insert()方法;如果指定 _id字段,则会更新该 _id的数据

  2. 向集合中插入一个文档:db.collection.insertOne()

  3. 向集合中插入多个文档:db.collection.insertMany()

3. 查询数据库中的文档

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

    name:要创建的集合名称

    options:可选参数,指定有关内存大小及索引的选型;可以是如下参数:

    字段类型描述
    capped布尔(可选)如果为true,则创建固定集合;固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档;当该值为true时,必须指定size参数
    autoIndexId布尔(可选)如为true,自动在_id字段创建索引;默认为false
    size数值(可选)为固定集合指定一个最大值(以字节计); 如果capped为true,也需要指定该字段
    max数值(可选)指定固定集合中包含文档的最大数量

    在插入文档时,MongoDB首先检查固定集合的size字段,然后检查max字段

    例子:db.createCollection("coll", {capped:true, autoIndexId:true, size:6142800, max:10000})

  2. 可以根据条件从集合中查询所有符合条件的文档,返回的是一个数组:db.collection.find()

    find() 方法以非结构化的方式显示所有文档

  3. 以格式化的方式显示所有文档:db.collection.find().pretty()

  4. 查询第一个符合条件的文档,返回的是一个对象:db.collection.findOne()

  5. 查询符合条件的文档的数量:db.collection.find().count()

4. 修改数据库中的文档

  1. 可以修改、替换集合中的一个或多个文档:db.collection.update()db.collection.save()

    update() 方法用于更新已存在的文档

    db.collection.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:可选,抛出异常的级别
    

    save() 方法通过传入的文档来替换已有文档

    db.collection.save(
    	<document>,
    	{
    		writeConcern:<document>
    	}
    )
    参数说明:
    document:文档数据
    writeConcern:可选,抛出异常的级别
    
  2. 修改集合中的一个文档:db.collection.updateOne()

  3. 修改集合中的多个文档:db.collection.updateMany()

  4. 替换集合中的一个文档:db.collection.replaceOne()

5. 删除集合中的文档

  1. 删除集合中的一个或多个文档(默认删除多个):db.collection.remove()

    db.collection.remove(
    	<query>,
    	{
    		justOne:<boolean>,
    		writeConcern:<document>
    	}
    )
    参数说明:
    query:(可选)删除的文档的条件
    justOne:(可选)如果设为true或1,则只删除一个文档,如果不设置该参数,或使用默认值false,则删除所有匹配条件的文档
    writeConcern:可选,抛出异常的级别
    
  2. 删除集合中的一个文档:db.collection.deleteOne()

  3. 删除集合中的多个文档:db.collection.deleteMany()

  4. 清空一个集合:db.collection.remove({})

    类似常规SQL的truncate命令

  5. 删除一个集合:db.collection.drop()

  6. 删除一个数据库:db.dropDatabase()

    删除当前数据库,默认为test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值