前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mongoose食用姿势!

mongoose食用姿势!

作者头像
十月梦想
发布于 2018-08-29 02:14:15
发布于 2018-08-29 02:14:15
1.6K00
代码可运行
举报
文章被收录于专栏:十月梦想十月梦想
运行总次数:0
代码可运行

什么是Mongoose?

Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为JavaScript对象供我们使用。

下载mongoose?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm insatll mongoose

如何使用mongoose?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
require("mongoose");

mongoose官网

http://mongoosejs.com

mongoose入门

简单看一下官网的hello world入门代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//    引包,并不需要引用mongodb这个包
    var mongoose = require('mongoose');
    //链接数据库,itatic是数据库名字
    mongoose.connect('mongodb://127.0.0.1:27017/itatic');
     
    //创建了一个模型。猫的模型。所有的猫,都有名字,是字符串。“类”。
    var Cat = mongoose.model('Cat', { name: String });
    //实例化一只猫
    var kitty = new Cat({ name: 'Zildjian' });
    //调用这只猫的save方法,保存这只猫
    kitty.save(function (err) {
      console.log('喵喵喵');
    });
     
    var tom = new Cat({"name":"汤姆"});
    tom.save(function(){
           console.log('喵喵喵');
    });

上述代码没有明显操作数据库的语句,例如前面的MongoDB的db.find,update,remove,insert等,很明显都是类方法使用,创建类,实例化类,使用类,操作类对象时候数据库以及被持久化了!

模型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//创建一个小狗模型
mongoose.model("dog",{name:String,age:Number})
//实例化这个小狗
var wangcai=new dog({"name":"旺财","age":4})
//然后把这个wangcai这个类进行save方法后就存入数据库中

mongoose所有的操作不慎对数据库操作,所有的操作都是对类、实例进行的。但是数据库的持久化自动完成了。

数据库连接

固定格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var mongoose = require('mongoose');
//创建数据库连接
var db      = mongoose.createConnection('mongodb://127.0.0.1:27017/haha');
//监听open事件
db.once('open', function (callback) {
    console.log("数据库成功连接");
});

定义模型

步骤:建立schema结构 → 定义静态方法 → 建立模型

创造schema结构

语法:new mongoose.Schema({})

实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var StudentShema = new mongoose.Schema({
"name":{type:String},
"sex":{type:String},
"age":{type:Number}

})

定义静态方法

语法:db.model({"Student",shema名字})

实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//查找的静态方法(只能定义在model层)
StudentSchema.statics.chazhao=function(name,callback){
  this.model("Student").find({"name":name},callback)
}
//修改的静态方法
StudentSchema.statics.xiugai=function(where,set,options,callback){
  this.model("Student").update(where,set,options,callback)
}

创建模型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//创建了一个模型,就是学生模型,就是学生类。
//类是基于schema创建的。
var studentModel = db.model('Student', studentSchema);

无需操作数据库,只需要考虑操作类,实例,让数据库变得简单!实例方法和静态模型方法进行数据库操作,数据库可以保持持久化!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-8-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Mongoose的populate方法实现多表关联查询
MongoDB在3.2以上的版本有类似于 join 的 $lookup 聚合操作符,其实 Mongoose 有一个更强大的替代方法,叫做populate ( ),它允许你在其他集合中引用文档,实现更简洁优雅的查询操作。
越陌度阡
2020/11/26
3.9K0
使用Mongoose的populate方法实现多表关联查询
mongodb操作之mongoose
/** * Created by chaozhou on 2015/10/6. */ var mongoose = require("mongoose"); var db = mongoose.c
用户1141560
2017/12/26
1.4K0
Mongoose 操作数据库实现增、删、改、查
Mongoose 是在 Node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具,Mongoose 是 NodeJS 的驱动,为NodeJS独有。
越陌度阡
2020/11/26
2K0
Mongoose模块化实践
Mongoose为操作MongoDB数据库提供了很大的方便,在实际开发过程中,为了保证可扩展与可维护性,通常会将Mongoose进行模块化,下面记录一个模块化的实例,便于在以后的项目中复用。
越陌度阡
2020/11/26
1.1K0
Mongoose学习参考文档
一、快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //Person的数据库模型 var Per
庞小明
2018/03/07
24.6K0
mogoose 创建数据库并增删改查
约束能用对象的方法描述数据类型 是否必须 是否重复 默认值 等,如下定义了一个用户表结构
艳艳代码杂货店
2021/09/26
5.3K0
前后端演示SHA1,MD5加密登录(带数据库)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/74131038
j_bleach
2019/07/02
1.3K0
前后端演示SHA1,MD5加密登录(带数据库)
如何使用Mongoose创建一个数据处理的模块
Schema 是 Mongoose 中定义文档结构的方式。在model/index.js中定义 Schema
炑焽
2025/01/11
4411
如何使用Mongoose创建一个数据处理的模块
MongoDB增删改查操作
创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。
Qwe7
2022/05/22
1.6K0
使用 Mongoose 基于 MongoDB 建模并设置关联
首先把 Post 和 Category 找出来,然后把分类字段改掉,最后别忘了保存。
Innei
2021/12/28
1.8K0
Nodejs学习笔记(十四)— Mongoose介绍和入门
简介   Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具   那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html   Github地址:https://github.com/Automattic/mongoose   API Docs:http://mongoosejs.com/docs/guide.html   
Porschev
2018/03/28
3K0
Nodejs学习笔记(十四)— Mongoose介绍和入门
Nodejs和Mongodb的连接器Mongoose
今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢,介绍Mongoose之前,我们先简单了解一下MongoDB。
笔阁
2018/09/04
6.3K0
MongoDB数据库基本操作
安装 mongodb MongoDBcompass 配置mongoose npm install mongoose node 连接数据库 const mongoose = require('mongoose');<br/> mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true })<br/> .then( () => console.log('数据库连接成功'))<br/> .catch( err
用户3461357
2019/08/20
4.6K0
架构和数据库
下载地址:https://www.mongodb.com/try/download/community
张哥编程
2024/12/13
6310
Mongoose中的修饰符
Mongoose提供了修饰符功能用于对存取的数据进行一些加工,常用的修饰符有以几下几种:
越陌度阡
2020/11/26
1.3K0
Mongoose索引、内置方法、静态方法与实例方法
索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快,MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧。
越陌度阡
2020/11/26
2.5K0
MongoDB x Mongoose: 实现类似 Join 的功能
官方示例 其他 当前的实现全部都是基于 Mongoose 完成的 官方示例 var mongoose = require('mongoose'), Schema = mongoose.Schema var PersonSchema = new Schema({ name: String, age: Number, stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }] }); var StoryS
szhshp
2022/09/21
9790
48、mongoose入门
现在假设我们想把看到的每一只猫都用数据库给记录下来,即每只猫都是一条document(数据行)。
Ewall
2018/11/21
2.1K0
初试MongoDB学习之Mongoose的使用
在MongoDB中,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。我们想要操作MongoDB数据,那就得先要具备上面所说的包含数据的“文档”,文档又是什么意思呢,请看如下介绍。
九旬
2020/10/23
6.3K0
初试MongoDB学习之Mongoose的使用
Mongoose多表查询运用实例
在开发内容管理系统时,经常会用到多表关联查询场景,如文章分类、文章详情、文章作者三张表,UML图如下:
越陌度阡
2020/11/26
1.8K0
Mongoose多表查询运用实例
相关推荐
使用Mongoose的populate方法实现多表关联查询
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验