在mongoose模型中加入两个集合,给出null值

时间:2017-05-02 03:51:44

标签: node.js mongodb express mongoose models

我正在尝试从两个集合中获取数据,但始终在ref列中获取null值。

我尝试使用populate函数,但每次我在引用的模式类型中获取null值。

下面是我的两个集合模型代码:

物业型号代码:

var mongoose  = require('mongoose');
var schema = mongoose.Schema;
var Users = require('./users.model');
var PropertyType = require('./property_type.model');
var RoomType = require('./room_type.model');
var Admin = require('./admin.model');
var propertySchema = new schema({
    id: {
        type : Number,
        required : true
    },
    host_id: {
        type : schema.Types.ObjectId,
        required :true,
        ref : 'Admin'
    },
    title : {
        type : String,
        required : true
    },
    property_type : {
        type : schema.Types.ObjectId,
        required : true,
        ref : 'PropertyType'
        //foregirn key
    },
    room_type : {
        type : schema.Types.ObjectId,
        required : true,
        ref : 'RoomType'
        //foregin key
    },
});

var Property = module.exports = mongoose.model('Property', 
propertySchema);

module.exports.fetchProperties = function(callback){
    Property.find({}, callback).populate('room_type');
}

房型型号代码

var mongoose  = require('mongoose');
var schema = mongoose.Schema;
var roomTypeSchema = new schema({
    id : {
        type : Number,
        required : true
    },
    name : {
        type : String,
        required : true
    }
});
var RoomType = module.exports = mongoose.model('RoomType', roomTypeSchema);

请帮助我在上面的代码中知道我错在哪里,我在room_type模式类型中获得null值。

0 个答案:

没有答案