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

 

 

 

最新文章

  1. expect实现自动登录
  2. 浅谈Android下的Bitmap之大Bitmap加载
  3. 深入理解 NodeList
  4. oracle数据匹配merge into
  5. 正确运用synchronized和二次判断 实现多线程安全
  6. three.js入门2
  7. 怎样解决asp.net.mvc上传附件超过长度问题?
  8. winform学习之----进程和线程
  9. git-svn
  10. 解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】
  11. 阿里云WinServer2008下配置IIS7支持php
  12. Java类修饰符
  13. JS函数和对象(一)
  14. python import自己编写的模块:import json和simplejson
  15. C#学习-接口与抽象类
  16. 基于vue现有项目的服务器端渲染SSR改造
  17. react编译报错:Import in body of module; reorder to top import/first
  18. T-SQL 日期函数
  19. CalISBN.java
  20. WinForm中 事件 委托 多线程的应用【以一个下载进度条为例】

热门文章

  1. ThinkPHP3.2.3完整版创建前后台入口文件 http://jingyan.baidu.com/article/7e4409533fc1092fc1e2ef53.html
  2. java方法里面生成js弹出框
  3. 微信小程序强制横屏办法
  4. luogu1891 疯狂lcm ??欧拉反演?
  5. Jenkins+Git+Maven+Nexus+Tomcat
  6. 洛谷P3507 [POI2010]GRA-The Minima Game
  7. 安装gitlab-runner
  8. C语言中函数声明、形参、实参
  9. C语言之基本编程思想与基本概念扫盲
  10. BAPC 2014:Button Bashing(暴力+bfs)