Mongoose指南 - Model

编译你的第一个model

var xxSchema = new Schema({name: ‘string‘, size: ‘string‘});

var Tank = mongoose.model(‘Tank‘, schema);

构造document

document是model的实例. 创建更新document到数据很容易

var Tank = mongoose.model(‘Tank‘, tankSchema);

var small = new Tank({size:‘small‘});
small.save(function(err){
    if(err)return handlerError(err);
    // saved
});

//or

Tank.create({size: ‘small‘}, function(err, small){
  if(err) return handlerError(err);
  //saved
}}

查询

model集成了几个内置静态查询方法, 如 find, findById, findOne, where

Tank.find({size: "small"}).where("createdDate").gt(oneYearAgo).exec(callback);

删除

model集成了静态remove方法

Tank.remove({size:‘large‘}, function(err){
   if(err) return handleError(err);
   //removed;
}),

更新

每个model都有自己的update方法 这个方法只更新而不返回model, 如果你像更新后返回model使用 findOneAndUpdate

时间: 2024-10-05 04:53:13

Mongoose指南 - Model的相关文章

Ember.js 入门指南——model简介2

本文接上一篇<Ember.js 入门指南--model简介1>. 2,核心概念 声明:下面简介内摘抄至http://www.emberjs.cn/guides/models/#toc_. 1,store store是应用存放记录的中心仓库.你可以认为store是应用的所有数据的缓存.应用的控制器和路由都可以访问这个共享的store:当它们需要显示或者修改一个记录时,首先就需要访问store. DS.Store的实例会被自动创建,并且该实例被应用中所有的对象所共享. store可以看做是一个缓存

Mongoose指南 - Population

MongoDB没有join, 但是有的时候我们需要引用其它collection的documents, 这个时候就需要populate了. 我们可以populate单个document, 多个document, plain object, multiple plain objects或query返回的全部object. var mongoose = require('mongoose'); var Schema = mongoose.Schema; var personSchema = new S

Mongoose指南 - Schema

定义schema 用mongoose的第一件事情就应该是定义schema. schema是什么呢? 它类似于关系数据库的表结构. var mongoose = require('mongoose'); var schema = mongoose.Schema; var blogSchema = new Schema({ titile: String, body: String, comments: [{body: String, date: Date}], date: {type: Date,

Mongoose指南 - 查询

查询有带callback和不带callback两种方式 所有mongoose的callback都是这种格式: callback(err, result) var Person = mongoose.model('Person', yourSchema); Person.findOne({'name.last':'Ghost'}, 'name occupation', function(err, person){ if(err) return handleError(err); console.l

Mongoose指南 - 验证

开始前记住下面几点 Validation定义在SchemaType中 Validation是一个内部的中间件 当document要save前会发生验证 验证不会发生在空值上 除非对应的字段加上了 required validator 可以自定义验证器 内置的验证器 所有的SchemaType都有required验证器 Number有min和max验证器 String有enum和match验证器 自定义验证器 //确保值是something function validator(val){ ret

Mongoose指南 - Connection

使用mongoose.connect()方法创建连接 mongoose.conect('mongodb://localhost/myapp'); 上面的代码是通过默认端口27017链接到mongodb的myapp数据库.我们还可以给url设定一些特定的参数: mongoose.conect('mongodb://username:[email protected]:port/databasename?options...'); Options connect方法可以接受一个options对象 m

Mongoose指南 - Document

更新 有几种方式更新document. 先看一下传统的更新方法 Tank.findById(id, function(err, tank){ if(err) return handleError(err); tank.size = "large"; tank.save(function(err){ if(err) return handleError(err); res.send(tank); }); }); 上面的代码是先查找出一个dociment然后在更新. 如果我们不想查找doc

Mongoose指南 - Plugin

Schema支持插件, 这样你就可以扩展一些额功能了 下面的例子是当document save的时候自定更新最后修改日期的出插件 // lastMod.js module.exports = exports = function lastModifiedPlugin (schema, options) { schema.add({ lastMod: Date }) schema.pre('save', function (next) { this.lastMod = new Date next(

node.js + express(ejs) + mongodb(mongoose) 增删改实例

刚学node不久,以下是对最近学习的总结,不足的地方还请见谅. node 和 mongodb安装不做为本文讲解,想了解的朋友可以通过一下链接配置环境: node 安装:http://www.infoq.com/cn/articles/nodejs-npm-install-config Win7下MongoDB安装 :http://www.mkyong.com/mongodb/how-to-install-mongodb-on-windows/ MongoDB 安装步骤总结: 1.解压目录到d盘