2.MongoDB的常用命令(CRUD)

一,数据库操作

1)选择和创建数据库语法

use 数据库名

use命令的规则是,如果存在对应的数据库那么就切换,不存在就创建

2)数据库的删除

db.dropDatabase()

3)查看有权限的数据库

show dbs 或者 show databases

注意:当你使用use命令创建了一个新的数据时,使用show dbs是看不到你刚才的数据的,因为show dbs看的是磁盘里的数据库,而你创建的这个数据库还在内存中,只有新创建的数据库有一个集合时才会持久化到磁盘中;
4)查看当前使用的数据库

db

通过shell连接本地MongoDB数据库简单操作

>*******************创建新库,并切换到新库,已存在的库则会直接切换*******************
> use mydb
switched to db mydb
>
>******************显示当前使用的库********************
> db
mydb
>
>*******************删除当前库*******************
> db.dropDatabase()
{
    "ok" : 1 }
>
>*******************显示所有的库*******************
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
>

在这里插入图片描述

二,集合操作

集合就是对应关系型数据的表

1)集合的显示创建(显示创建)

db.createConllection(“集合名”)

2)集合查看

show collections

3)集合删除

db.集合名.drop() 或 db.collection.drop()

举例:

>******************查看当前使用的那个库*******************
> db
mydb
>
>*******************创建集合(mysql的表)*******************
> db.createCollection("myCollection")
{
    "ok" : 1 }
>
>*******************查询当前库下所有的集合*******************
> show collections
myCollection
>
>*******************删除集合*******************
> db.myCollection.drop()
true

4)集合隐式创建就是创建文档是没有对应的集合,系统自动创建

三,文档的基本CRUD

文档就是关系型数据一条一条的数据,只是mongodb的文档数据结构和JSON基本一致;
1),文档的插入

单个文档插入:

db.myCollection.insert(要插入的数据) 或 db.myCollection.save(要插入的数据)

批量文档插入:

db.myCollection.insertMany([ 要插入的数据,要插入的数据,要插入的数据 . . . . . . ])

注意:批量插入时出现异常,后面的数据不会再执行,而前面已插入成功的不会回滚;

try{}catch{}来输出异常

try{ 插入语句 }catch(e){ print(e); }

文档查询:

db.集合名.find() 或 db.集合名.find({你要查询的条件})

举例:

>*******************插入一条数据*******************
> db.myCollection.insert({
   "_id":"1","name":"张三","age":NumberInt(10),"time":new Date()})
WriteResult({
    "nInserted" : 1 })
>
> db.myCollection.find()
{
    "_id" : "1", "name" : "张三", "age" : 10, "time" : ISODate("2021-12-04T11:51:59.724Z") }
>
>******************批量插入多条数据*******************
> db.myCollection.insertMany([{
   "_id":"2","name":"张三","age":NumberInt(10),"time":new Date()},{
   "_id":"3","name":"张三","age":NumberInt(10),"time":new Date()}])
{
    "acknowledged" : true, "insertedIds" : [ "2", "3" ] }
>
> db.myCollection.find()
{
    "_id" : "1", "name" : "张三", "age" : 10, "time" : ISODate("2021-12-04T11:51:59.724Z") }
{
    "_id" : "2", "name" : "张三", "age" : 10, "time" : ISODate("2021-12-04T11:53:53.746Z") }
{
    "_id" : "3", "name" : "张三", "age" : 10, "time" : ISODate("2021-12-04T11:53:53.746Z") }
>

2),文档的查询
查询某个集合所有的数据:

db.集合名.find()

根据条件查询:

db.集合名.find({你要查询的条件})

根据条件查询一条类似于mysql的limit 1 :

db.集合名.findOne({你要查询的条件}) 或 db.集合名.findOne()

投影查询,查询想要展示的参数

db.集合名.findOne({你要查询的条件},{要展示的字段:1,不想展示id:0})

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值