首页 > 代码库 > mongoose连表查询2

mongoose连表查询2

1.解读mongoose的populate

    1.Query#populate

var mongoose = require(‘mongoose‘)
  , Schema = mongoose.Schema
  
var personSchema = Schema({
  _id     : Number,    // 只支持ObjectId,Number,String,Buffer,就这几个引用类型,ref匹配的只有这个_id

name : String,
  age : Number, 

stories : [{ type: Schema.Types.ObjectId, ref: ‘Story‘ }] });

var storySchema = Schema({
_creator : { type: Number, ref: ‘Person‘ },
  title : String, fans : [{ type: Number, ref: ‘Person‘ }]
});

var Story = mongoose.model(‘Story‘, storySchema);
var Person = mongoose.model(‘Person‘, personSchema);

_id的类型是:ObjectIdNumberString, and Buffer are valid for use as refs.
那么
_crestor 存储的类型必须与这个_id的数据类型一直,只能关联_id.
在文档关联使用ref一定要注意,关联的那个model只能匹配_id这个字段,你要是搞个自动生成的啥的一概无效 




mongoose连表查询2