mongo 的基本操作
Posted twinkle||cll
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo 的基本操作相关的知识,希望对你有一定的参考价值。
mongo 和 mysql 一样,都有一些终端命令,如查看数据库,查看集合,新增集合,删除集合等
数据库的操作
在终端,使用
mongo
命令,进入mongo的shell
查看所有的数据库
show dbs;
查看当前使用数据库
db;
这里可能有的同学我都没有
test
库,为啥会有test
这个数据库?
个人理解是mongo 是一个动态的数据库,他会默认的给你创建一个数据库而不需要你自己手动来创建。
查看当前数据库状态
db.stats();
查看数据库中所有的集合
show collections;
新增数据库
use xxx
xxx 是数据库名称
这里可能有的人又会说,使用
use xxx
确实切换了数据库,但是在show dbs
里面怎么看不到,这是因为mongo
给你创建了数据库,但是里面没有东西,等有东西的时候自动显示出来。
删除数据库
db.dropDatabase()
数据库的CRUD
所有的数据库都有增删改查(
CRUD
), mongo 也有crud, 但是mongo 写的不是sql语句,而是类似js
一样,来调用方法。
插入文档
插入单条数据
db.collection.insertOne(obj)
: 将单个文档插入集合collection中,这个会在当前数据库自动创建一个集合collection,然后插入文档的内容
这里的文档内容可以不同,插入的内容也可以不同哦!如:
插入多条数据
db.collection.insertMany([obj1, obj2])
新的文档如果没有指定字段
_id
,则会自动添加一个字段_id
作为主键
自动的主键是一个ObjectId
对象,该对象是通过调用函数ObjectId()
创建的
它的原理是根据时间戳+机器码+进程Id+自增量生成的一个十六进制的唯一字符串
使用ObjectId
函数还可以把某个字符串还原成一个ObjectId
对象,例如ObjectId("xxxxx")
查询数据
db.inventory.find( {} )
: 如果里面不传参数,是全查数据
传入参数类似filter函数,如:
修改文档
更新单个文档
db.collection.updateOne(<filter>, <update>)
: 修改单个文档是单挑查询出来,然后进行修改;
更新多个文档
db.collection.updateMany(<filter>, <update>)
:更新多个文档是,通过filter查询出多条来,进行更新.
替换单个文档
db.collection.replaceOne(<filter>, <update>)
:先通过filter条件来查询文档(只会找到第一条),然后进行替换;
##删除文档
删除一条数据
db.collection.deleteOne(查询对象)
: 先通过filter函数来查询一条数据,然后进行删除;
删除多条数据
db.collection.deleteMany(查询对象): 通过filter函数查询多个,然后进行删除。
以上是关于mongo 的基本操作的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程