您现在的位置是:主页 > news > 苹果id美国地址生成器/搜狗整站优化

苹果id美国地址生成器/搜狗整站优化

admin2025/6/28 21:49:48news

简介苹果id美国地址生成器,搜狗整站优化,中企动力做网站的价格,做搬家网站推广在那好从我原来的博客尖,欢迎大家光临 http://www.hacke2.cn 像我这篇文章所说的基于Node.js jade Mongoose 模仿gokk.tv。当时停止开发是由于我深深的感觉到当时想错了,应该用两个Schema。而不是一个以下又有数组来存。这样取数据是方便,当时分页…

苹果id美国地址生成器,搜狗整站优化,中企动力做网站的价格,做搬家网站推广在那好从我原来的博客尖,欢迎大家光临 http://www.hacke2.cn 像我这篇文章所说的基于Node.js jade Mongoose 模仿gokk.tv。当时停止开发是由于我深深的感觉到当时想错了,应该用两个Schema。而不是一个以下又有数组来存。这样取数据是方便,当时分页…

从我原来的博客尖,欢迎大家光临

http://www.hacke2.cn

像我这篇文章所说的基于Node.js + jade + Mongoose 模仿gokk.tv。当时停止开发是由于我深深的感觉到当时想错了,应该用两个Schema。而不是一个以下又有数组来存。这样取数据是方便,当时分页相当麻烦。不能使用原生提供的limit方法。

今天看到一本书上有讲。尝试了一把,记录下来

我们实验的场景为一个班级有N多学生。先通过学生ID找到班级名称(是不是被玩腻了?)

先来将Schema定义好

ClazzSchema :

var mongoose = require('mongoose')var ClazzSchema = new mongoose.Schema({clazzName:String
})
//其它方法省略..
}module.exports = ClazzSchema

StudentSchema :

var mongoose = require('mongoose')var StudentSchema = new mongoose.Schema({name:String,clazzID : {type : mongoose.Schema.ObjectId,ref : 'Clazz'}
})StudentSchema.statics = {findClazzNameByStudentId:function(studentId, callback){return this.findOne({_id : studentId}).populate('clazzID').exec(callback)}//其它方法省略..
}module.exports = StudentSchema

能够看到。主须要将ClazzID设为ref到Clazz,依赖为你建立Model时的名称就能够了,要查询Clzz使用populate

以下是Model

var mongoose = require('mongoose')
var ClazzSchema = require('../schemas/clazzSchema')
var Clazz = mongoose.model('Clazz',ClazzSchema)module.exports  = Clazz
var mongoose = require('mongoose')
var StudentSchema = require('../schemas/studentSchema')
var Student = mongoose.model('Student',StudentSchema)module.exports  = Student

大同小异,着重看test.js

var mongoose = require('mongoose')
var Clazz = require('./models/clazzModel')
var Student = require('./models/studentModel')
//var db = mongoose.createConnection('localhost', 'gokk')
mongoose.connect('mongodb://localhost/test')/*var clazz = new Clazz(
	{
		clazzName:'软件2班'
	}
);clazz.save(function  (argument){
	console.log('true');
});*//*var student = new Student({
	name : 'hacke2',
	clazzID : '542b5fcc49df6e741d8d15f5'
})
student.save(function (err){
	console.log('true');
})*/Student.findClazzNameByStudentId('542b600a683d59a80d4ee632', function (err, student){if(err) console.log(err);console.log(student.clazzID.clazzName);
})

之前加入了两班级:软件一班和软件二班

我们在新增hacke2时将classID设为软件2班的。查新hacke2时自己主动就会把关键的 Class查询到

{ _id: 542b600a683d59a80d4ee632,name: 'hacke2',clazzID: { _id: 542b5fcc49df6e741d8d15f5, clazzName: '软件2班', __v: 0 },__v: 0 }

end from http://www.hacke2.cn