MongoDB连接数据库并创建数据等使用方法


Posted in MongoDB onNovember 27, 2021

1.mongodb官网

MongoDB: the application data platform | MongoDB

2.进入MongoDB官网下载MongoDB以及MongoDB compass 和Mongodb--database--tools

3.nodejs操作MongoDB数据库需要依赖nodejs的第三方包mongoose 

终端指令: npm install mongoose

4.

MongoDB连接数据库并创建数据等使用方法

 5.

以管理员身份运行PowerShell cd到文件所在目录 如果没有开启MongoDB的话 

使用net start mongodb 指令启动

MongoDB连接数据库并创建数据等使用方法

MongoDB连接数据库并创建数据等使用方法

 6.

//引入mongoose模块
const mongoose = require('mongoose');
// console.log(mongoose);
 
//todo 连接数据库
mongoose.connect('mongodb://localhost/test001')
    .then(() => console.log('数据库链接成功'))
    .catch(erro => console.log('连接失败'))

7.在vscode的集成终端中cd到文件所在目录,使用nodemon 'node 02.js'指令打开文件

MongoDB连接数据库并创建数据等使用方法

 8. 设定集合规则 创建集合并应用规则

//todo 设定集合规则
const courseSchema = new mongoose.Schema({
    name: String,
    author: String,
    isPublished: Boolean
});
// todo 创建集合并应用规则
// todo 1.集合名称'' 2.集合规则
const Course = mongoose.model('Course', courseSchema);

  9. 创建集合实例document的两种方式

// todo 第一种方式   创建集合实例 文档document
const course = new Course({
    name:'xiaoguo',
    author:'aaa',
    tags:['node','backend'],
    isPublished:false
})
// 将数据保存在数据库中
course.save();
 
 
 
//todo 第二种方式 创建文档 不需要使用course.save()方式保存,会自动保存进数据库
Course.create({
    name:'xiaowei',
    author:'sh',
    isPublished:true
},(erro,data)=>{
    console.log(erro);
    console.log(data)
});
//也支持promise对象
Course.create({
    name:'xiaoli',
    author:'zz',
    isPublished:true
}).then(data=> console.log(data))
.catch(erro=>console.log(erro))

 10. 查询用户集合中的所有文档,返回的是一个数组

// todo 查询用户集合中的所有文档 返回的是一个数组
Course.find()
.then(result =>{console.log(result)})

 11. 通过ID字段查询用户集合中的某个文档,返回数组

// todo 通过ID字段查询用户集合中的某个文档 返回数组
Course.find({
_id:"619b0f75dc5e07d1b9924ee9"
})
.then(result =>{console.log(result)})

 12. 根据条件查找文档 如果不写条件返回数据库中的第一条文档 返回一个对象

// todo 根据条件查找文档 如果不写条件返回数据库中的第一条文档 返回一个对象
Course.findOne({
    name:'xiaowei'
})
.then(result=>console.log(result))

13. 根据范围条件查找文档 $gt 最小值 $lt最大值

// todo 根据范围条件查找文档
Course.find({
    age: { $gt: 20, $lt: 50 }
})
.then(result => console.log(result))

 14. 查询包含

// todo 根据范围条件查找文档
Course.find({
    name: { $in: ['xiao'] }
})
.then(result => console.log(result))

 15. 选择要查询的字段并排序 默认升序 降序加个-

// todo 选择要查询的字段 (升序)
Course.find().select('name age')
//相反的顺序用.sort('-age') (降序)
.then(result => console.log(result))

  16.  skip跳过前两条数据 limit限制查询数量

// todo skip跳过前两条数据 limit限制查询数量
Course.find().skip(2).limit(2)
.then(result => console.log(result))

   17.  查找一个文档并删除文档 返回值是删除的文档 如果匹配到多个文档 只删除第一个

// todo 查找一个文档并删除文档 返回值是删除的文档 如果匹配到多个文档 只删除第一个
Course.findOneAndDelete({
   _id:"619b0f75dc5e07d1b9924ee9"
})
.then(result=>console.log(result))

 18.  删除多个文档  返回一个对象 {n:删除的文档数量 ok:1(删除成功)}

// todo 删除多个文档  返回一个对象 {n:删除的文档数量 ok:1(删除成功)}
Course.deleteMany({
   _id:"619b0f75dc5e07d1b9924ee9"
})
.then(result=>console.log(result))

  19.  更新单个文档 里面传两个对象 ,隔开 第一个对象是查询条件 第二个要改的值

// todo 更新单个文档 里面传两个对象 ,隔开 第一个对象是查询条件 第二个要改的值
Course.updateOne(
{name:'xiaoguo'},
{name:'xiaoguoguo'}
)
.then(result=>console.log(result))

   20.  更新多个文档 里面传两个对象 ,隔开 第一个对象是查询条件 第二个要改的值

// todo 更新多个文档 里面传两个对象 ,隔开 第一个对象是查询条件 第二个要改的值
Course.updateMany(
{},
{age:18}
)
.then(result=>console.log(result))

    21. 设置mongoose验证

 针对String类型字段      required: [true,'错误说明']   必传字段  

MongoDB连接数据库并创建数据等使用方法

  针对String类型字段      minlength: [n,'错误说明']       最小字段长度

 针对String类型字段       maxlength: [n,'错误说明']      最大字段长度

MongoDB连接数据库并创建数据等使用方法

  针对String类型字段      trim:true       //去除字符串两头的空格

  针对Number类型字段      min: [n,'错误说明']       最小数值

 针对Number类型字段       max: [n,'错误说明']      最大数值

 设置时间默认值 当用户未传此字段的数据时 启用当前时间为默认值 

MongoDB连接数据库并创建数据等使用方法

 列举出当前字段可以取的值,必须在范围内上传

MongoDB连接数据库并创建数据等使用方法

 自定义错误信息时的格式

MongoDB连接数据库并创建数据等使用方法

制定规则验证用户传入的值的属性是否符合规范 自定义错误信息 message 

MongoDB连接数据库并创建数据等使用方法

 控制台获取错误信息

 MongoDB连接数据库并创建数据等使用方法

到此这篇关于MongoDB连接数据库并创建数据等使用方法的文章就介绍到这了,更多相关MongoDB连接数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MongoDB 相关文章推荐
MongoDB数据库的安装步骤
Jun 18 MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 MongoDB
常用的MongoDB查询语句的示例代码
Jul 25 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
MongoDB支持的索引类型
Apr 11 MongoDB
SpringBoot集成MongoDB实现文件上传的步骤
Apr 18 MongoDB
详解MongoDB排序时内存大小限制与创建索引的注意事项
May 06 MongoDB
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
Nov 01 #MongoDB
centos8安装MongoDB的详细过程
关于CentOS 8 搭建MongoDB4.4分片集群的问题
MongoDB日志切割的三种方式总结
Sep 15 #MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 #MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 #MongoDB
mongodb数据库迁移变更的解决方案
Sep 04 #MongoDB
You might like
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php mysql数据库操作分页类
2008/06/04 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
python端口扫描系统实现方法
2014/11/19 Python
深入理解Python装饰器
2016/07/27 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
python中星号变量的几种特殊用法
2016/09/07 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Python实现FLV视频拼接功能
2020/01/21 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
Python调用JavaScript代码的方法
2020/10/27 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
安全保证书范文
2014/04/29 职场文书
本科生就业推荐信
2014/05/19 职场文书
如何写早恋检讨书
2014/09/10 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
担保书范文
2019/07/09 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python