2017-08-04 82 views
2

我是一个Mongoose新手,在一个协作Node项目上工作,我在开发周期中迟到了。调试Mongoose find()的问题:既不是err也不是成功

我有一个模型SourceContentType

/** 
* sourceContentType model 
* @module 
*/ 

var modelFactory = require('app/factories/model'); 
var nameMethods = require('./methods/name'); 

/** 
* This model will related contentTypes to sources and when documents are created for it, 
* they will imply that items for the given contentType 
* can be imported from the source (e.g. "photos" can be imported from "Facebook"). 
* @class sourceContentType 
* @property {module:models/source~Source} source - source for this sourceContentType 
* @property {module:models/contentType~ContentType} contentType for this sourceContentType 
*/ 
module.exports = modelFactory.new('SourceContentType', { 
    source: { ref: 'Source',required: true }, 
    contentType: { ref: 'ContentType',required: true }, 
    itemsGetUrlTemplate:{ type:String, default: "https://${sourceHost}/${contentTypePluralCamelName}?access_token=${sourceToken}&limit=${sourceItemsLimit}&offset=${offset}"} 

}, { 
    jsonapi: { 
     get: 'public', 
     post: 'admin', 

    } 
}, nameMethods); 

,我试图寻找从另一个模型,来源,这是在SourceContentType引用的实例方法的源字段匹配:

 /** 
* source model 
* @module 
*/ 
... 

getSourceContentTypesForSource: function(done){ 
    SourceContentType.find({source:this.id}, function(err,sourceContentTypes){ 
     if (err) { 
      debug("Error for Source.getSourceContentTypesForSource, ",err); 
      return done(err); 
     } else { 
       debug("Success for Source.getSourceContentTypesForSource, ",sourceContentTypes,this._id); 

      done(err,sourceContentTypes); 
     } 
    }); 

} 

我试图传入Source实例的id,然后找回所有包含对该源的引用的SourceContentTypes。尽管调用了该方法,但上述调试语句(错误或成功)都不会打印出来。

我的主要故障是什么?任何帮助非常感谢!

+0

你在调用'mongoose.connect'吗? – JohnnyHK

+0

是的 - 这是一个巨大的应用程序的一小部分,这个应用程序在这个位之前和之后执行了许多Mongoose调用。 – Cerulean

回答

0

这是debug声明。 Console.log追查正确(成功)的结果就好。正如我所说的,我是一台大机器中的一个小型齿轮,在我的程序开始之前就已经做了一些调试。

相关问题