惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
月光博客
月光博客
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Jina AI
Jina AI
小众软件
小众软件
U
Unit 42
云风的 BLOG
云风的 BLOG
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
宝玉的分享
宝玉的分享
B
Blog
C
Check Point Blog
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
量子位
阮一峰的网络日志
阮一峰的网络日志
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 抱影无眠

CentOS7安装Nginx实现API网关 CentOS7中添加新硬盘 CentOS7 安装oracle 客户端 CentOS7安装RabbitMQ CentOS7安装MongoDB3.6企业版 CentOS 搭建Redis4 环境 Nginx 在Windows下搭建静态Web服务 DevExtreme 搭建Node.js开发环境 MongoDB Windows环境搭建 Oracle 搭建Node.js开发环境 搭建Node.js Redis开发环境 Redis Windows环境搭建 使用PM2守护Node.js应用 Windows下使用nvm管理多个Node.js 版本 vscode 插件todo-highlight Ionic 解决gradle下载慢的问题 Cmder 简明使用说明 Ionic2 开发环境搭建 Ionic2集成DevExtreme
MongoDB 搭建Node.js开发环境
抱影无眠 · 2018-03-30 · via 博客园 - 抱影无眠

理解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