【MongoDB】入门

通过docker安装

docker run -d -p 27017:27017 --name mongo01 -v /docker/mongo/config:/data/configdb -v /docker/db:/data/dbmongo  -e MONGO_INITDB_ROOT_USERNAME=admin  -e MONGO_INITDB_ROOT_PASSWORD=admin123 mongo

进入mongo命令行模式

docker exec -it mongo01 mongosh
or
docker exec -it mongo01 bash

高版本的mongo使用mongosh,低版本的使用mongo

登录

use admin
db.auth('admin','admin123')

数据库命令

  • 查询所有数据库
show dbs
  • 查看当前连接使用哪个数据库
db
  • 切换/创建数据库
    如果数据库不存在,则创建并切换到该数据库,存在则切换到该数据库
use admin
  • 删除数据库
    先切换到指定数据库,然后执行以下命令
db.dropDatabase()

集合命令

  • 查看所有集合
show collections
  • 创建集合
db.createCollection(name, options)

name 要创建的集合名称
options参数:capped如果为true则创建固定集合(有着固定大小的集合);size为固定集合指定一个最大值,如果capped为true需要指定该字段;max 指定固定集合中包含文档的最大数量

db.createCollection("users")
db.createCollection("users",{capped:true,size:1024,max:100000})
  • 删除集合
db.COLLECTION_NAME.drop()

文档命令

  • 插入文档
db.COLLECTION_NAME.insert({}):
db.COLLECTION_NAME.insertOne({}):
db.COLLECTION_NAME.insertMany([{}...]):
  • 查询文档
db.COLLECTION_NAME.find(query, projection)

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

# 查询指定collection全部文档
db.COLLECTION_NAME.find()
# 格式化输出查询
db.COLLECTION_NAME.find().pretty()
# 按条件查询
db.COLLECTION_NAME.find({'name':'fan'})
  • 更新文档
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 :可选,抛出异常的级别。

posted @ 2022-11-03 17:44  .Neterr  阅读(31)  评论(0编辑  收藏  举报