为什么我的一些猫鼬模型没有加载?显然他们不在那里

时间:2014-12-21 21:36:17

标签: node.js mongodb mongoose

我正在装载我的猫鼬模型,其中一些已加载,而其他人显然根本没有加载。

例如,

var Post = mongoose.model('Post');
var Comment = mongoose.model('Comment');
var Friend = require('../models/Friends.js');
OR var Friend = mongoose.model('Friends');

如果我是console.log(朋友)。我得到一个空物。但是,如果我控制台登录其他模型,它们就存在。我以同样的方式创建它们。由于某些原因,我一直在创建新的猫鼬模型。有什么想法吗?

这是我的friends.js文件,与其他文件完全相同。

var mongoose = require('mongoose');

var FriendSchema = new mongoose.Schema({
    firstName: String,
    lastName: String,
    updateFrequency: Number,
    email: String,
    pastInteraction: [],
    lastTime: Date

});

FriendSchema.methods.updateLastAccess = function(cb){
    this.lastTime = new Date();
    this.save(cb);
}



mongoose.model('Friends', FriendSchema);

1 个答案:

答案 0 :(得分:1)

您没有从friends.js

导出任何内容

从那里导出好友模型

var mongoose = require('mongoose');

var FriendSchema = new mongoose.Schema({
    firstName: String,
    lastName: String,
    updateFrequency: Number,
    email: String,
    pastInteraction: [],
    lastTime: Date

});

FriendSchema.methods.updateLastAccess = function(cb){
    this.lastTime = new Date();
    this.save(cb);
}



module.exports =mongoose.model('Friends', FriendSchema);

进行此更改后,您可以使用console.log()并检查

var Friend = require('../models/Friends.js');
console.log(Friend) ;
  

为什么我能以同样的方式访问其他模型?我没有   导出但我能够访问它们。

因为您正在为mongoose.model('Post');

之类的相同文件创建模型