MongoDB 搭建Node.js开发环境
理解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/docs/guide.html
https://npm.taobao.org/package/mongoose
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongoose/v4
最新文章
- expect实现自动登录
- 浅谈Android下的Bitmap之大Bitmap加载
- 深入理解 NodeList
- oracle数据匹配merge into
- 正确运用synchronized和二次判断 实现多线程安全
- three.js入门2
- 怎样解决asp.net.mvc上传附件超过长度问题?
- winform学习之----进程和线程
- git-svn
- 解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】
- 阿里云WinServer2008下配置IIS7支持php
- Java类修饰符
- JS函数和对象(一)
- python import自己编写的模块:import json和simplejson
- C#学习-接口与抽象类
- 基于vue现有项目的服务器端渲染SSR改造
- react编译报错:Import in body of module; reorder to top import/first
- T-SQL 日期函数
- CalISBN.java
- WinForm中 事件 委托 多线程的应用【以一个下载进度条为例】
热门文章
- ThinkPHP3.2.3完整版创建前后台入口文件 http://jingyan.baidu.com/article/7e4409533fc1092fc1e2ef53.html
- java方法里面生成js弹出框
- 微信小程序强制横屏办法
- luogu1891 疯狂lcm ??欧拉反演?
- Jenkins+Git+Maven+Nexus+Tomcat
- 洛谷P3507 [POI2010]GRA-The Minima Game
- 安装gitlab-runner
- C语言中函数声明、形参、实参
- C语言之基本编程思想与基本概念扫盲
- BAPC 2014:Button Bashing(暴力+bfs)