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 的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

mongo 进阶之—— mongoose 认识

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

mongo 详解修改操作

mongo 详解修改操作