理解Mongoose

Elegant MongoDB object modeling for Node.js

 

安装Mongoose

 

$ cnpm install --save mongoose

 

$ cnpm install --save-dev typescript @types/node @types/mongoose

 

源码参考

import { Document, model, Model, Schema, connect } from
'mongoose';

 

console.log('hello mongodb!');

 

var UserSchema: Schema = new Schema({

username: {

type: String,

required: true,

unique: true

},

age: Number,

friends: [String],

data: [Schema.Types.Mixed]

});

 

interface IUser extends Document {

username: string;

age: number;

friends: string[];

data: any[];

}

 

var UserModel: Model<IUser> = model<IUser>('User', UserSchema);

 

var connectUri = 'mongodb://localhost/testdb';

connect(connectUri, function (error) {

if (error) {

console.log(error.message);

}

 

});

 

var user = new UserModel({ name: 'bob' });

user.username = "bob";

user.age = 38;

user.friends = ["tom", "cat", "jerry", "mouse"];

user.data = [123, "abc"];

user.save().then(()=>{

 

UserModel.findOne({}, (err: any, user: IUser) => {

console.log("user: %s", user);

});

 

})

 

 

 

参考资源

http://mongoosejs.com/

http://mongoosejs.com/docs/guide.html

https://npm.taobao.org/package/mongoose

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongoose/v4

 

 

 

MongoDB 搭建Node.js开发环境的更多相关文章

  1. 快速搭建 Node.js 开发环境以及加速 npm

    如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期 ...

  2. 【转】使用nvm快速搭建 Node.js 开发环境

    原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...

  3. ES6 学习笔记 (2)-- Liunx环境安装Node.js 与 搭建 Node.js 开发环境

    笔记参考来源:廖雪峰老师的javascript全栈教程 一.安装Node.js 目前Node.js的最新版本是6.2.x.首先,从Node.js官网下载对应平台的安装程序. 1.下载 选择对应的Liu ...

  4. 手把手教你学node之搭建node.js开发环境

    搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...

  5. 1.0搭建 Node.js 开发环境

    <搭建 Node.js 开发环境> 本课程假设大家都是在 Linux 或者 Mac 下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 ...

  6. Oracle 搭建Node.js开发环境

      先决条件 安装oralce客户端驱动. 安装node.js.   创建项目 安装oracledb模块 $npm install oracledb 如果失败了,你可能要爬墙.   参考package ...

  7. DevExtreme 搭建Node.js开发环境

    简介 DevExtreme is a component suite for creating highly responsive web applications for touch devices ...

  8. Linux虚拟机中 Node.js 开发环境搭建

    Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...

  9. [转载]Sublime Text 3 搭建 React.js 开发环境

    [转载]Sublime Text 3 搭建 React.js 开发环境 Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 1. babe ...

随机推荐

  1. C# System.Timers.Timer定时器的使用和定时自动清理内存应用

    项目比较大有时候会比较卡,虽然有GC自动清理机制,但是还是有不尽人意的地方.所以尝试在项目启动文件中,手动写了一个定时器,定时清理内存,加快项目运行速度. public class Program { ...

  2. vue axios ajax引擎

    0.调用 1.axios api axios.request(config) axios.get(url[,config]) axios.delete(url[,config]) axios.head ...

  3. Chrome 67 以后版本无法离线安装crx插件

    原文链接:https://blog.csdn.net/wanwuguicang/article/details/80716178 升级了Chrome后无法离线安装扩展 如图: 谷歌自Chrome 67 ...

  4. CF1005F Berland and the Shortest Paths

    \(\color{#0066ff}{ 题目描述 }\) 一个无向图(边权为1),输出一下选边的方案使\(\sum d_i\)最小(\(d_i\)为从1到i的最短路) 输出一个方案数和方案(方案数超过k ...

  5. Hbase0.98.0完全分布式搭建---【使用外部zookeeper】

    Hbase是一个分布式的实时数据库,他可以基于hadoop的hdfs,S3等分布式存储系统.而且使用zookeeper来通信(查询元数据和获取数据所在位置等功能) 本文的Hbase使用的是hadoop ...

  6. python依赖文件的生成requirement.txt

    移到你的环境中 pip freeze > requirement.txt

  7. 去除掉svn目录

    使用svn提交时,造成有些文件锁住不能使用,百度得到下面相似问题以及解决方法: /*********************************************************** ...

  8. JavaBean简介和用法

    一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参 ...

  9. 老男孩python作业9-简单的商城页面布局

    利用HTML相关知识编写下面的网页: 核心代码如下: <!DOCTYPE html> <html lang="en"> <head> <m ...

  10. 80C51单片机介绍

    80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点. 增加了如乘(MUL).除(DIV).减(SUBB).比较(CMP).16位数据指针.布 ...