node教程(四)Mongodb+mongoose

这篇具有很好参考价值的文章主要介绍了node教程(四)Mongodb+mongoose。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、mongodb

1.简介

1.1Mongodb是什么?

Mongodb是一个基于分布式文件存储的数据库

1.2数据库是什么?

数据库是按照数据结构来组织、存储和管理数据的应用程序。

1.3数据库的作用

主要作用就是管理数据,对数据进行增删改查

1.4数据库管理数据的特点

相比于纯文件,数据库管理数据具有如下特点:
1.速度更快
2.拓展性更强
3.安全性更强
2.核心概念

2.核心概念

Mongodb中有三个重要概念

  • 数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合
  • 集合:集合类似于JS中的数组,在集合中可以存放很多文档
  • 文档:文档是数据库中的最小单位,类似于JS中的对象

node教程(四)Mongodb+mongoose,# Node,mongodb,数据库

3.下载安装与启动

https://www.mongodb.com/try/download/community
千万不要选中服务端窗口的内容,选中会停止服务,可以敲回车取消选中

4.命令行交互

4.1数据库命令

1.显示所有的数据库

show dbs

2.切换到指定的数据库,如果数据库不存在则会自动创建数据库

use 数据库名

3.显示当前所在数据库

db

4.删除当前数据库

use 库名
db.dropDatabase()

4.2集合命令
1.创建集合

db.createCollection('集合名称')

2.显示当前数据库中的所有集合

show collections

3.删除某个集合

db.集合名.drop()

4.重命名集合

db.集合名.renameCollection('new name')

4.3文档命令

1.插入文档

db.集合名.insert('文档对象')

2.查询文档

db.集合名.find(查询条件)

_id是mongodb自动生成的唯一编号,用来唯一标识文档
3.更新文档

db.集合名.update(查询条件,新的文档)
db.集合名.update({name:'张三'}{$set:{age:19}})

4.删除文档

db.集合名.remove(查询条件)

二、Mongoose

1.介绍

是一个对象文档模型库

2.作用

方便使用代码操作mongodb数据库

3.使用流程

// 安装mongoose
// 导入mongoose
const mongoose = require('mongoose');

// 连接mongodb服务                      数据库的名称
mongoose.connect('mongodb://127.0.0.1:27017/abc')

/* 设置回调 */
mongoose.connection.on('open',() => {
    console.log('连接成功');
}); // 设置连接成功的回调
mongoose.connection.on('error',() => {
    console.log('连接失败');
}); //连接失败的回调
mongoose.connection.on('close',() => {
    console.log('连接关闭');
}); //设置连接关闭的回调

// 关闭mongodb的连接
setTimeout(() => {
    mongoose.disconnect();
},2000)

4.插入文档

出现以下问题

 throw new MongooseError('Model.create() no longer accepts a callback');

是由于mongoose版本太高,可以手动降级

npm i mongoose@6.8.0
// 安装mongoose
// 导入mongoose
const mongoose = require('mongoose');

// 连接mongodb服务                      数据库的名称
mongoose.connect('mongodb://127.0.0.1:27017/abc')

/* 设置回调 */
mongoose.connection.once('open',() => {
    // console.log('连接成功');
    // 5.创建文档的结构对象
    // 设置集合中文档的属性以及属性值的类型
    let BookSchema = new mongoose.Schema({
        name:String,
        author: String,
        price: Number
    });

    // 创建模型对象  对文档操作的封装对象
    let BookModel = mongoose.model('books',BookSchema);

    // 新增
    BookModel.create({
        name:'xiyouji',
        author:'吴承恩',
        price:19.9
    },(err,data) => {
        if(err){
            console.log(err);
            return;
        }
        // 如果没有出错,则输出插入后的文档对象
        console.log(data);
        // 关闭数据库连接(项目运行过程中不会添加此代码)
        mongoose.disconnect();
    });

}); // 设置连接成功的回调

mongoose.connection.on('error',() => {
    console.log('连接失败');
}); //连接失败的回调
mongoose.connection.on('close',() => {
    console.log('连接关闭');
}); //设置连接关闭的回调


5.mongoose字段类型

文档结构可选的常用字段类型列表
node教程(四)Mongodb+mongoose,# Node,mongodb,数据库

// 安装mongoose
// 导入mongoose
const { Mixed } = require('mongoose');
const mongoose = require('mongoose');

// 连接mongodb服务                      数据库的名称
mongoose.connect('mongodb://127.0.0.1:27017/abc')

/* 设置回调 */
mongoose.connection.once('open',() => {
    // console.log('连接成功');
    // 5.创建文档的结构对象
    // 设置集合中文档的属性以及属性值的类型
    let BookSchema = new mongoose.Schema({
        name:String,
        author: String,
        price: Number,
        is_hot:Boolean,
        tags:Array,
        pub_time:Date,
        test:mongoose.Schema.Types.Mixed 
    });

    // 创建模型对象  对文档操作的封装对象
    let BookModel = mongoose.model('books',BookSchema);

    // 新增
    BookModel.create({
        name:'xiyouji',
        author:'吴承恩',
        price:19.9,
        is_hot:true,
        tags:['鬼怪','励志'],
        pub_time:new Date(),
        test:'abc'
    },(err,data) => {
        if(err){
            console.log(err);
            return;
        }
        // 如果没有出错,则输出插入后的文档对象
        console.log(data);
        // 关闭数据库连接(项目运行过程中不会添加此代码)
        mongoose.disconnect();
    });

}); // 设置连接成功的回调

mongoose.connection.on('error',() => {
    console.log('连接失败');
}); //连接失败的回调
mongoose.connection.on('close',() => {
    console.log('连接关闭');
}); //设置连接关闭的回调


三、图形化管理工具

我们可以使用图形化的管理工具来对Mongodb进行交互,文章来源地址https://www.toymoban.com/news/detail-745813.html

  • Robo 3T 免费
  • Navicat

到了这里,关于node教程(四)Mongodb+mongoose的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js开发-MongoDB

    介绍 Mongoose 是一个对象文档模型库,官网 http://www.mongoosejs.net/ 作用 方便使用代码操作 mongodb 数据库 使用流程 文档结构可选的常用字段类型列表 类型 描述 String 字符串 Number 数字 Boolean 布尔值 Array 数组,也可以使用 [] 来标识 Date 日期 Buffer Buffer 对象 Mixed 任意类型,需要使

    2024年02月20日
    浏览(46)
  • Node.js详解(四):连接MongoDB

    MongoDB 对许多平台都提供驱动可以访问数据库,如C#、Java、Node.js等。下面一步一步带着大家在Nodejs中连接MongoDB 命令如下: 连接MongoDB数据库,实现curd、图片上传(使用element-ui框架)功能的完整代码如下: ejs 页面:

    2024年02月16日
    浏览(47)
  • Node.Js篇 NodeJs使用MongoDB

    目录 介绍 概念解析                   安装 启动时注意事项 NodeJs操作Mongo 介绍 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。                                                           

    2024年02月09日
    浏览(53)
  • 在 Node.js 中使用 MongoDB 事务

    MongoDB事务 事务介绍 在 MongoDB 中,对单个文档的操作是原子的。由于您可以使用嵌入的文档和数组来捕获单个文档结构中的数据之间的关系,而不是跨多个文档和集合进行规范化,因此这种单一文档的原子性消除了对多文档的需求许多实际用例的事务。 对于需要对多个文档(

    2024年02月10日
    浏览(41)
  • node中的数据持久化之mongoDB

    MongoDB 是一种 开源的非关系型数据库 ,正如它的名字所表示的, MongoDB 支持的数据结构非常松散,是一种以 bson 格式(一种 json 的存储形式)的 文档存储方式 为主,支持的数据结构类型更加丰富的 NoSQL 数据库。它是一种 介于关系数据库和非关系数据库之间的产 品,是非关

    2024年02月13日
    浏览(42)
  • centos配置nginx+node前后台+mongodb

    centos 环境下安装

    2024年02月11日
    浏览(51)
  • 【node进阶】浅析Koa框架---ejs模板|文件上传|操作mongoDB

    ✅ 作者简介:一名普通本科大三的学生,致力于提高前端开发能力 ✨ 个人主页:前端小白在前进的主页 🔥 系列专栏 : node.js学习专栏 ⭐️ 个人社区 : 个人交流社区 🍀 学习格言: ☀️ 打不倒你的会使你更强!☀️ 💯 刷题网站:这段时间有许多的小伙伴在问有没有什么

    2024年01月25日
    浏览(50)
  • node基于express+mongodb项目的整体结构搭建和逻辑抽离

    这是我用express实现的一个缩减版的注册功能,如下: app.js 目录结构如下: 可以看到的是所有的逻辑,创建服务器、链接数据库、创建集合、注册都在app.js文件中,这只是一个简单的注册功能,可能看上去还不是很乱,但是当我们后面项目越来越大,所做的功能越来越多,显

    2024年02月16日
    浏览(35)
  • 在nodejs中使用Mongoose和MongoDB实现curd操作

    在 Node.js 中,数据库被用来存储和检索 Web 应用程序的数据。它们是构建动态和可伸缩应用程序的重要组成部分。 Node.js 提供了各种模块和包,可以与数据库一起工作,如 MySQL 、 PostgreSQL 、 MongoDB 等。它们允许开发人员使用各种操作来存储、查询和操作数据,例如创建、读取、

    2024年02月06日
    浏览(37)
  • 前端Vue Node.js + Express + MongoDB 构建的后端服务API接口

    构建一个使用 Vue.js 作为前端, Node.js + Express + MongoDB 作为后端服务的全栈应用涉及到多个步骤。这里简要概述整个过程,并提供一些基本的代码示例来帮助你开始。 安装 MongoDB: 根据你的操作系统从 MongoDB 官网 下载并安装 MongoDB。 启动 MongoDB 服务: 安装完成后,根据 MongoDB 的

    2024年04月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包