mongoose入门以及 mongoose 实现数据 的增删改查
Posted loaderman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongoose入门以及 mongoose 实现数据 的增删改查相关的知识,希望对你有一定的参考价值。
一、mongoose 介绍
Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具。Mongoose 是 NodeJS 的驱动,不能作为其他语言的驱动。
Mongoose 有两个特点
1、通过关系型数据库的思想来设计非关系型数据库
2、基于 mongodb 驱动,简化操作
二、mongoose 的安装以及使用
官网:https://mongoosejs.com/
1. 安装
npm i mongoose --save
2、引入 mongoose 并连接数据库
const mongoose = require(‘mongoose‘); mongoose.connect(‘mongodb://localhost/test‘); 如果有账户密码需要采用下面的连接方式: mongoose.connect(‘mongodb://eggadmin:123456@localhost:27017/eggcms‘);
3、定义 Schema
数据库中的 Schema,为数据库对象的集合。schema 是 mongoose 里会用到的一种数据模式, 可以理解为表结构的定义;每个 schema 会映射到 mongodb 中的一个 collection,它不具备操作数据库的能力
var UserSchema=mongoose.Schema({ name: String, age:Number, status:‘number‘ })
4、创建数据模型
定义好了 Schema,接下就是生成 Model。model 是由 schema 生成的模型,可以对数据库的操作。
注意:mongoose.model 里面可以传入两个参数也可以传入三个参数 mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema)
mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema,参数 3:数据库集合名 称)
如果传入 2 个参数的话:这个模型会和模型名称相同的复数的数据库建立连接:如通过下面 方法创建模型,那么这个模型将会操作 users 这个集合。
如果传入 3 个参数的话:模型默认操作第三个参数定义的集合名称
var User=mongoose.model(‘User‘, UserSchema);
5、查找数据
User.find({},function(err,docs){ if(err){ console.log(err); return; } console.log(docs); })
6、增加数据
var u=new User({ //实例化模型 传入增加的数据 name:‘lisi2222333‘, age:20, status:true }) u.save();
7、修改数据
User.updateOne({ name: ‘lisi2222‘ }, { name: ‘哈哈哈‘ }, function(err, res) { if(err){ console.log(err); return; } console.log(‘成功‘) });
8、删除数据
User.deleteOne({ _id: ‘5b72ada84e284f0acc8d318a‘ }, function (err) { if (err) { console.log(err); return; } // deleted at most one tank document console.log(‘成功‘); });
9、保存成功查找
var u = new User({ name: ‘lisi2222333‘, age: 20, status: true //类型转换 }) u.save(function (err, docs) { if (err) { console.log(err); return; } console.log(docs); User.find({}, function (err, docs) { if (err) { console.log(err); return; } console.log(docs); }) });
以上是关于mongoose入门以及 mongoose 实现数据 的增删改查的主要内容,如果未能解决你的问题,请参考以下文章