使用mongodb创建数据库

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 初始化express

初始化express

express
       npm 
       i
1

创建model文件夹,分别创建db文件和model文件

db文件内容

       const mongoose 
       = require(
       "mongoose")
       /
       /连接数据库
       mongoose.connect(
       "mongodb://127.0.0.1:27017/db2209")
       /
       /创建一个连接对象
       const conn 
       = mongoose.connection
       /
       /利用
       on方法监听事件  
       open 表示连接成功   
       error 表示连接失败
       conn.
       on(
       "open",()
       =
       >{
           console.log(
       "数据库连接成功");
       })
       conn.
       on(
       "error",(err)
       =
       >{
           console.log(
       "数据库连接失败",err);
       })
       module.exports 
       = mongoose

model文件内容

       /
       **
        * Schema 对象 定义集合的模式结构   命名规范 : xxxSchema
        * Model 对象  根据该对象映射成一个集合  命名规范 : xxxModel
        * Document 文档对象 定义文档 
        * 上面三个对象定义时注意顺序,先定义Schema  再定义Model 最后添加Document
        */
       /
       /
       1-连接数据库
       const mongoose 
       = require(
       "./1-利用mongoose连接数据库")
       /
       /
       2-定义Schema对象  定义文档的模式结构
       const userSchema 
       = new mongoose.Schema({
           username : 
       String, 
       /
       /mongoose中常用的数据类型 : ObjectID  
       String 
       Number 
       Boolean 
       Date Array
           password : 
       String,
           birth : 
       Date,
           sex : 
       Boolean
       })
       /
       /
       3-定义Model对象 model( 实际的model名称 , 该model对应的Schema对象 , 实际的集合名称  )
       /
       /注意 : 第三个参数可以省略的,如果省略了,实际的集合名称就是 参数
       1 的复数形式
       /
       /                          如果不省略第三个参数,建义 实际的集合名称和实际的model名称一样 
       const userModel 
       = mongoose.model( 
       "user" , userSchema , 
       "user")
配置跨域
       // 下载cors,在app.js文件配置跨域、图片
       var cors = 
       require(
       'cors')
       app.
       use(
       cors())
       app.
       use(
       "/upload",express.
       static(
       "upload"))
展示、增删改
       var express 
       = require(
       'express');
       var router 
       = express.Router();
       var mul 
       = require(
       'multiparty')
       var {userModel,bookModel} 
       = require(
       '../model/model')
       /
       * 
       GET home 
       page. 
       *
       /
       /
       / 图片
       router.post(
       '/pic', 
       function(req, res, 
       next) {
         let form 
       = new mul.Form()
         form.uploadDir 
       = 
       "upload"
         form.parse(req,(ree,formdata,imgdata)
       =
       >{
           res.
       send({
       code:
       200,
       pic:
       "http://localhost:3000/"
       +imgdata.
       file[
       0].path
           })
         })
       });
       /
       / 展示
       router.post(
       '/login',async 
       function(req, res, 
       next) {
         let 
       data 
       = req.body
         console.log(
       data);
         let loginn 
       = await userModel.find({name:
       data.name})
         console.log(loginn); 
       if(
       data.name 
       =
       = 
       "admin"){
       if(
       data.pw 
       =
       =
       = 
       "123456"){
             res.
       send({
       code:
       200,
               msg:
       "登陆成功"
             })
           }
       else{
             res.
       send({
       code:
       201,
               msg:
       "密码错误"
             })
           }
         }
       else{
           res.
       send({
       code
:
       202,
             msg:
       "用户不存在"
           })
         }
       });
       router.
       get(
       '/list',async 
       function(req, res, 
       next) {
         let 
       key 
       = req.query.
       key
         let cp 
       = req.query.cp
         let ps 
       = req.query.ps
         let datashow 
       = await bookModel.find({
       status:
       false})
         let hsz 
       = await bookModel.find({
       status:
       true})
         res.
       send({
       code:
       200,
           hsz,
           datashow,
         });
       });
       /
       / 添加
       router.post(
       '/add',async 
       function(req, res, 
       next) {
         let body 
       = req.body
         await bookModel.create(body)
         res.
       send({
       code:
       200,
           msg:
       "添加成功"
         });
       });
       /
       / 修改
       router.post(
       '/up',async 
       function(req, res, 
       next) {
         let body 
       = req.body
         await bookModel.updateOne({_id:body._id},body)
         res.
       send({
       code:
       200,
           msg:
       "修改成功"
         });
       });
       router.post(
       '/uphsz',async 
       function(req, res, 
       next) {
         let body 
       = req.body
       /
       / console.log(body);
         await bookModel.updateOne({_id:body._id},body)
         res.
       send({
       code:
       200,
           msg:
       "修改成功"
         });
       });
       /
       / 删除和删除选中
       router.
       get(
       '/del',async 
       function(req, res, 
       next) {
         let _id 
       = req.query.id
         await bookModel.deleteOne({_id})
         res.
       send({
       code:
       200,
           msg:
       "删除成功"
         });
       });
       router.post(
       '/delc', 
       function(req, res, 
       next) {
         let body 
       = req.body
         console.log(body);
         body.forEach(async (item) 
       =
       > {
           await bookModel.deleteOne({_id:item._id})
         })
         res.
       send({
       code:
       200,
           msg:
       "删除选中成功"
         });
       });
       module.exports 
       = router;


相关实践学习
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
相关文章
|
22天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
23天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
24天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
15 1
|
1月前
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
52 4
|
1月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
1月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
24 1
|
29天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
24 0
|
1月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
1月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
1月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
41 0