mongoose 学习笔记

1 安装 moogoose  模块 ,附加 --save 参数将包的信息添加到package.json 文件

npm install --save moogoose

2  加载 moogoose 模块,并连接数据库

var mongoose = require(‘mongoose‘);
//mongoose.connect(‘mongodb://mongod所在地址ip(ipdress)/需要连接的数据库名(databasename)‘);
mongoose.connect(‘mongodb://localhost/news‘);

3 建模(结构)

 var newsSchema = mongoose.Schmea({

    title:String

    type:Numer

    category:Array

    ... : ....

});

4 把Schema编译转化成modal(此时的modal是一个类)

newsModel = mongoose.model(‘news‘,newsSchema)

5 我们可以实例化这个类并进行一些操作

 var news = new newsModel({title:"This is a title","type":1,"category":[{category_id:"1","category_name":"国内"}]});

 console.log(news.title); // This is a title

我们也可以给schema 添加 方法, 添加的方法需要在编译成modal之前

newsSchema.methods.say = function(){
console.log ("It is a method to show the title : " + this.title);
}

newsModel = mongoose.model(‘news‘,newsSchema);
// 实例化并调用

var news = new newsModel({title:"This is a title","type":1,"category":[{category_id:"1","category_name":"国内"}]});

news.say(); // 输出 : It is a method to show the title : This is a title

6 前面的话,我们都在讲给schema添加方法,编译之后,对创建出来的modal进行实例化,既然是数据库,少不了保存、查询等操作啦。

var news = new newsModel({title:"This is a title","type":1,"category":[{category_id:"1","category_name":"国内"}]});
news.save(function(error,result){
   if(error){
     console.log(error);
   }else{
       console.log(result);
   }
});
时间: 2024-10-09 19:37:30

mongoose 学习笔记的相关文章

mongoose学习笔记1--基础知识2

Schema简述 Schema —— 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力,仅仅只是数据库模型在程序片段中的一种表现,可以说是数据属性模型(传统意义的表结构),又或着是“集合”的模型骨架. 那如何去定义一个Schema呢,请看示例: var mongoose = require("mongoose"); var TestSchema = new mongoose.Schema({ name : { type:String },//

mongoose学习笔记1--基础知识1

今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢? MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧.灵活,非常适合在数据规模很大.事务性不强的场合下使用.同时它也是一个对象数据库,没有表.行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数.字符串.日期.数组,甚至是一个嵌套的文档.),数据格式就是JS

mongoose学习笔记2015-7-24

前一阵byron老师讲了讲mongodb的CRUD操作,内容包括: 如何创建新数据库(use dbname),删除数据库(use dbname →db.dropDatabase()),加入数据(db.collectionname.insert({})),查看表中的数据(db.collectionname.find),排序(sort),数据太多取前几个(.limit),跳过前几个(.skip),limit和skip合起来在做分页的时候最爱用,比如一页就是5个,那就.limit(5).skip(5*

mongoose学习笔记2--增删改查1

查询 之前我们的集合已经创建成功,我们就先来进行第一步操作 —— 查询. 查询分很多种类型,如条件查询,过滤查询等等,今天只学习了最基本的find查询. 举例: 1.find查询: obj.find(查询条件,callback); Model.find({},function(error,docs){ //若没有向find传递参数,默认的是显示所有文档 }); Model.find({ "age": 28 }, function (error, docs) { if(error){ c

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------