手记

Node学习随笔—数据库(MongoDB,mongoose)

1.安装
2.MongoDB组成
数据库里存放集合,集合里存放文档

数据库: 一个仓库,可以存放集合

集合: 类似于数组, 在集合中存放文档

文档: 文档数据库的最小单位,我们存储和操作的内容都是文档

3.MongoDB的增删改查(注意各个方法的参数)
http://www.mongodb.org.cn/

https://docs.mongodb.com/manual/crud/

find----查找

// 查询数据库colleges集合中的name为html5的文档

db.colleges.find({name: "html5"});



update----添加/替换

// 数据库colleges集合中的name为html5的文档,添加intro属性,值为"我正在学习数据库"db.colleges.update({name: "html5"}, {$set: {intro: "我正在学习数据库"}});
// 使用{name: "大数据"} 替换 name为"K12"的文档
db.colleges.update({name: "大数据"}, {$set: {name: "K12"}});  // $unset用作删除
注意:文档插入文档用$set一步步插入,取得时候用对象.属性取出即可
更新替换也可用<数组更新操作符>
remove/drop------删除

4.批量数据的删除,修改和替换

// 向集合demos集合中插入10000个文档(insert可以实现,但是每次都做重复插入性能不好)var arr = []for (var i=0, i<10000, i++) {

   arr.push ({count: i})

}

db.demos.insert(arr)// 查找集合中大于或者小于多少的-------用比较查询运算符// 查询demos中couter小于666的文档db.demos.find({cputer: {$lt: 666}})// 查询demos中couter大于66小于666的文档db.demos.find({cputer: {$lt: 66, $lt: 666}})// 查询demos集合中11条到20条数据,limit 10为10条数据db.demos.find().skip(10).limit(10)

5.多集合操作

// 创建company数据库并导入it666, section---可视化直接导入db.it666.find()

db.section.find()// 查询html5学院所有的老师, 因为html5对应的num是唯一的 所以:var num = db.it666.findOne({"cname": "html5学院"}).num

db.section.find({num: num})

6.集合间对应关系

一对一: eg  身份证和人

一对多/多对一:eg 父母和孩子, 找唯一对应关系。

多对多: eg  学生和老师

7.排序和索引

排序:查询时默认为升序,按照id的值, 也可利用solt()指定,需要传一个对象,1升序,-1降序

db.section.find().sort({wage: 1})

limit限制查找个数

skip限制跳转个数

索引:映射(适用于只需要部分文档数据,在查询时第二个参数设置结果投影)
db.section.find({},{name: 1, wege: 0, bonus:1}) // 1显示 0不显示

8.mongoose
1.mongoose是让我们可以通过Node来操作MongoDB的模块

2.安装: npm i mongoose --save

相关上手文档如下:

https://mongoosejs.com/docs/index.html

image

3.常用API中model方法

注意:修改方法要加$set

4.删除remove,delect都可(在实际开发中用的最多的是remove)



作者:Li_小点
链接:https://www.jianshu.com/p/7e91b2d5bc4a


0人推荐
随时随地看视频
慕课网APP