-基本概念
数据库 (database)
集合 (conllection)
文档 (document)
- 在mongoDB中,数据库和集合都不需要手动创建,
当我们创建文档时,如果文档所在的集合或数据库不存在会手动创建数 据库和集合
-基本指令:
show dbs
show databases
-显示当前的所有数据库
use 数据库名
-进入到指定的数据库中
db
-db表示的是当前所处的数据库
show collections
-显示数据库中所有的集合
-数据库的CRUD(增删改查)的操作
- 向数据库中插入文档
**db.<collection名>.insert(doc)**
-向集合中插入一个文档
-当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加_id。
该属性用来作为文档的唯一标识
-_id我们可以自己指定,如果我们指定了数据库就不会在添加了,如果自己指定_id也必须确保它的唯一性。
**db.<collection名>.insertOne()**
-插入一个文档对象
**db.<collection名>.insertMany()**
-插入多个文档对象
-例子:向test数据库中的,stus集合中插入一个新的学生对象
{name:“张三”,age:18,gender:“男”}
db.stus.insert({name:“张三”,age:18,gender:“男”});一个
db.stus.insert([{name:“张三”,age:18,gender:“男”},{},{}]);多个
- 查询
**db.<collection名>.find()**
-查询当前集合中的所有的文档
-find()用来查询集合中所有符合条件的文档
-find()可以接收一个对象作为条件参数
{ } 表示查询集合中所有的文档
{属性:值 } 查询属性 是 指定值的文档
-find()返回的是一个数组
find()[索引下标]
**db.<collection名>.findOne()**
-用来查询集合中符合条件的第一个文档
-findOne()返回的是一个文档对象
**db.<collection名>.find({})**
-用来查询集合中所有的文档
**db.<collection名>.find({}).count()**
-查询所有结果的数量
在查询的时候,可以第二个参数的位置来设置查询结果的 投影 例如:
db.collection.find({},{name:1,_id:0,sal:1})
1显示 0不显示
- 修改
**db.<collection名>.update(查询条件,新对象)**
-update() 默认情况下会替换所有的东西 ps:太狠了
-如果需要修改指定的属性,而不是替换所有的。需要用“ 修改操作符 ”来完成
**$set** 可以用来修改文档中的指定属性
**$unset** 可以用来删除文档中的指定属性
- 例如:
db.collection.update(
{ "_id":ObjectId("xxxx") },
{ $set:{
name:"ss",
age:21,
.....
}
}
)
db.collection.update(
{ "_id":ObjectId("xxxx") },
{ $unset:{
name:"ss",
age:21,
.....
(ps:name 后面的有没有无所谓 unset是删除name这个属性,有没有值都可以)
}
}
)
**-uodate()默认只会修改一个**
**db.<collection名>.updateMany()**
- 同时修改多个符合条件的文档
**db.<collection名>.updateOne()**
- 修改一个符合条件的文档
- 删除
**db.<collection名>.remove()**
- 删除符合条件的所有文档(默认条件下会删除多个)
如果remove()第二个参数传递一个true,则只会删除一个
如果只传递一个空对象作为参数,则会删除集合中所有文档
**db.<collection名>.deleteOne()**
**db.<collection名>.deleteMany()**
-remove() 可以根据条件来删除文档,传递的方式和find()一样
**db.<collection名>.drop()**
删除集合
**db.dropDatabase()**
删除数据库
- 例子
skip()用于跳过指定数量的数据
-db.collection.find().skip(10).limit(10);
从11开始显示到20条数据
- 文档之间的关系
一对一
-在MongoDB中,可以通过内嵌文档的形式来体现一对一的关系
一对多/多对一
-也可以通过内嵌文档映射一对多的关系
多对多
- 排序
sort()可以用来指定文档的排序规则,sort()需要传递一个对象来指定排序规则 1表示升序 -1表示 降序
limit skip sort 可以 以任意的顺序进行调用
|