mongo 和 mysql 一样,都有一些终端命令,如查看数据库,查看集合,新增集合,删除集合等

数据库的操作

在终端,使用 mongo 命令,进入mongo的shell

查看所有的数据库

show dbs;

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据

查看当前使用数据库

db;

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据_02

这里可能有的同学我都没有test库,为啥会有test这个数据库?
个人理解是mongo 是一个动态的数据库,他会默认的给你创建一个数据库而不需要你自己手动来创建。

查看当前数据库状态

db.stats();

mongodb 某键的值是集合 如何查询 mongo 查看集合_mysql_03

查看数据库中所有的集合

show collections;

mongodb 某键的值是集合 如何查询 mongo 查看集合_database_04

新增数据库

use xxx xxx 是数据库名称

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据_05

这里可能有的人又会说,使用use xxx 确实切换了数据库,但是在show dbs 里面怎么看不到,这是因为mongo 给你创建了数据库,但是里面没有东西,等有东西的时候自动显示出来。

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据库_06

删除数据库

db.dropDatabase()

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据_07

数据库的CRUD

所有的数据库都有增删改查(CRUD), mongo 也有crud, 但是mongo 写的不是sql语句,而是类似js 一样,来调用方法。

插入文档

插入单条数据

db.collection.insertOne(obj): 将单个文档插入集合collection中,这个会在当前数据库自动创建一个集合collection,然后插入文档的内容

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据_08

这里的文档内容可以不同,插入的内容也可以不同哦!如:

mongodb 某键的值是集合 如何查询 mongo 查看集合_数据库_09

插入多条数据

db.collection.insertMany([obj1, obj2])

mongodb 某键的值是集合 如何查询 mongo 查看集合_mysql_10


mongodb 某键的值是集合 如何查询 mongo 查看集合_database_11

新的文档如果没有指定字段_id,则会自动添加一个字段_id作为主键
自动的主键是一个ObjectId对象,该对象是通过调用函数ObjectId()创建的
它的原理是根据时间戳+机器码+进程Id+自增量生成的一个十六进制的唯一字符串
使用ObjectId函数还可以把某个字符串还原成一个ObjectId对象,例如ObjectId("xxxxx")

查询数据

db.inventory.find( {} ) : 如果里面不传参数,是全查数据

mongodb 某键的值是集合 如何查询 mongo 查看集合_database_12

传入参数类似filter函数,如:

mongodb 某键的值是集合 如何查询 mongo 查看集合_database_13

修改文档

更新单个文档

db.collection.updateOne(<filter>, <update>): 修改单个文档是单挑查询出来,然后进行修改;

mongodb 某键的值是集合 如何查询 mongo 查看集合_database_14

更新多个文档

db.collection.updateMany(<filter>, <update>):更新多个文档是,通过filter查询出多条来,进行更新.

mongodb 某键的值是集合 如何查询 mongo 查看集合_字符串_15

替换单个文档

db.collection.replaceOne(<filter>, <update>):先通过filter条件来查询文档(只会找到第一条),然后进行替换;

mongodb 某键的值是集合 如何查询 mongo 查看集合_mysql_16


##删除文档

删除一条数据

db.collection.deleteOne(查询对象): 先通过filter函数来查询一条数据,然后进行删除;

mongodb 某键的值是集合 如何查询 mongo 查看集合_database_17

删除多条数据

db.collection.deleteMany(查询对象): 通过filter函数查询多个,然后进行删除。

mongodb 某键的值是集合 如何查询 mongo 查看集合_字符串_18