来自快递应用之外的猫鼬呼叫模型方法

时间:2016-06-27 13:08:21

标签: node.js mongodb mongoose

我有像这样的猫鼬模型文件

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var testSchema = new Schema({
  name: { type: String },
  username: { type: String },
  provider: { type: String },
  accessToken: { type: String },
  testId: { type: String }
});

/**Indexing*/
testSchema.index({ testId: 1, accessToken: 1 });

testSchema.statics = {

   get: function (id, callback) {
    this.findOne({'testId': id}, function(error, items){
        callback(error, items);
       });
   },
   create: function (data, callback) {
    var test = new this(data);
    test.save(callback);
   }
};

var test = mongoose.model('test', testSchema);

/** export schema */
module.exports = {
    Test: test
};

使用快速应用程序正常工作。但我想使用此模型从命令行查看和插入数据。所以,这是我的approch无法正常工作

var Test = require('./app/model/test').Test;
Test.get({'testId': 1},function(err,res){
if(!err){
console.log(res);
}else{
console.log(err);
}

1 个答案:

答案 0 :(得分:0)

我看到两个问题:

  • 您未在任何地方致电mongoose.connect(),因此未连接到数据库
  • 看起来你应该将id作为参数传递给get();现在你要传递一个查询。试试这个:Test.get('1', ...)