node-mongoDB-01-基础语法

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: flag不能随便立呀今天搞定这几篇文章

1.前言


flag不能随便立呀

今天搞定这几篇文章


2.mongoose


Mongoose为模型提供了一种直接的,基于scheme结构去定义你的数据模型。它内置数据验证, 查询构建,业务逻辑钩子等,开箱即用

npm i mongoose

安装完直接看README.md来学习也行


3. 基础使用



// 引入
const mongoose = require("mongoose");
//链接数据库
let db = mongoose.connect("mongodb://127.0.0.1:27017/yzs", {
     useNewUrlParser: true,
     useUnifiedTopology: true
});
//监听数据库的链接状态,在链接之后,再做相关的逻辑操作
mongoose.connection.on("open", function () {
  console.log("yzs--数据库链接成功");
})



4. 数据库操作


1.创建模型

类似mySQL初始化表,创建初识的字段,配置信息

类型,默认值,最大值,最小值等


let mySchema = new mongoose.Schema({
          name: { type: String, default: "无名" },
          age: { type: Number, min: 18, default: 20 },
          sex: { type: String, default: "未知" }
     });


2.创建集合/表

第一个参数是集合/表名

第二个参数是表配置信息,就是第一步创建的模型


const MyModel = mongoose.model("Student", mySchema);

3. 插入数据

语法:

model.create("域"",回调函数)


MyModel.create({
          name: "韩非子",
          age: 90,
          sex: "男"
     }, function (err, res) {
               if(!err){
                    console.log("插入数据成功",res);
               }else{
                    console.log("插入数据失败",err);
               }
     });


4.修改数据

语法

modle.update({查询条件},

{$set:{修改的值}},

{multi:true/false},

回调函数);

查询条件可以写多个,

通过可视化工具去看下 数据信息再改也行


MyModel.update({ _id: "60d6dae7486e513474490cb5" }, { $set: { age: 20 } }, function (err, res) {
          if (!err) {
               console.log("修改数据成功", res);
          } else {
               console.log("修改数据失败", err);
          }
     });

默认只会修改匹配的第一条数据

第三个参数 {multi:true},

匹配到多条数据,修改所有匹配数据


MyModel.update({ age: 90 }, { $set: { sex: "不知道" } }, {multi:true},function (err, res) {
          if (!err) {
               console.log("修改数据成功", res);
          } else {
               console.log("修改数据失败", err);
          }
     });



5.查询数据


model.find({查询条件},

{想要显示的字段},

{筛选条件},

回调函数)

1.最简单的 查询

查询所有的  最外层的数组里面是对象


MyModel.find(function (err, res) {
          if (!err) {
               console.log("查询数据成功", res);
          } else {
               console.log("查询数据失败", err);
          }
     })


2. 查询条件


MyModel.find({sex:"女"},function (err, res) {
          if (!err) {
               console.log("查询数据成功", res);
          } else {
               console.log("查询数据失败", err);
          }
     })


3.显示字段

默认会显示所有字段

只写一个参数会当做条件 但是可以写空{}

想要显示的字段,给想要显示的字段复制1,不想显示的不写即可,但是_id如果不想显示,需要主动设置为0


MyModel.find({},{name:1,_id:0},function (err, res) {
          if (!err) {
               console.log("查询数据成功", res);
          } else {
               console.log("查询数据失败", err);
          }
     })


4. 查询字段条件  高级用法

$gt大于

$lt小于

$gte 大于等于

$lte小于等于

$ne不等于


MyModel.find({age:{$gte:70,$lte:60}},{name:1,_id:0},function (err, res) {
          if (!err) {
               console.log("查询数据成功", res);
          } else {
               console.log("查询数据失败", err);
          }
     })

自己修改着条件玩吧


5. 排序
筛选条件

sort 排序 1升序 -1降序 sort:{age:-1}

skip 跳过 {skip:3}

limit限制条数 {limit:3}

优先级

有排序一定是先排序,在做其他限制操作


MyModel.find({},{name:1,age:1,_id:0},{sort:{age:-1},skip:2,limit:3},function (err, res) {
          if (!err) {
               console.log("查询数据成功", res);
          } else {
               console.log("查询数据失败", err);
          }
     })



6. 删除数据


语法

model.remove({查询条件},回调函数)


if (!err) {
          console.log("删除数据成功", res);
     } else {
          console.log("删除数据失败", err);
     }
})


模糊删除很危险


MyModel.remove({ age: 40 }, function (err, res) {
          if (!err) {
               console.log("删除数据成功", res);
          } else {
               console.log("删除数据失败", err);
          }
     })

自己分析这个删除的打印结果吧




相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
9月前
|
JSON NoSQL MongoDB
MongoDB——基础语法
MongoDB——基础语法
MongoDB——基础语法
|
27天前
|
JavaScript
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!
|
27天前
|
JavaScript 前端开发
node.js中path模块-路径处理,语法讲解
node.js中path模块-路径处理,语法讲解
|
27天前
|
JavaScript 前端开发
node.js中的fs模块,读写语法讲解
node.js中的fs模块,读写语法讲解
|
19天前
|
存储 NoSQL MongoDB
深入解析 MongoDB 与 Python:基本语法、实用示例与最佳实践
深入解析 MongoDB 与 Python:基本语法、实用示例与最佳实践
|
7月前
|
NoSQL JavaScript MongoDB
mongodb语法
mongodb语法
|
11月前
|
JavaScript 前端开发
node.js入门学习(1): 让phpstorm配置支持ES语法,箭头函数正常代码格式化
node.js入门学习(1): 让phpstorm配置支持ES语法,箭头函数正常代码格式化
87 0
|
11月前
|
JSON JavaScript 前端开发
Node冷门知识点—— node.js支持import语法
Node冷门知识点—— node.js支持import语法
707 0
|
SQL NoSQL MongoDB
MongoDB数据库【基本语法内容】2
6.更新文档 update() 方法用于更新已存在的文档。语法格式如下:
196 2
MongoDB数据库【基本语法内容】2
|
存储 JSON NoSQL
MongoDB数据库【基本语法内容】
如果数据库不存在,则创建数据库,否则切换到指定数据库 三部曲,创建数据库,查看当前使用的数据库,查看所有的数据库
143 1
MongoDB数据库【基本语法内容】