2013-05-12 4 views
0

Я пытаюсь получить записи, добавленные в mongo db из scheduler heroku. Но в настоящее время я просто тестирую, используя «node app/bin/trackStats»Mongoose не будет добавлять документ

Вот моя модель.

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

var StatsSchema = new Schema({ 
    // eMail address 
    totalblc: { type: Number, required: false}, 
    date: { type: Date, default: Date.now }, 
    difficulty: {type: Number, unique: true}, 
    up: {type: String, required: false}, 
    // Name 
}); 


module.exports = mongoose.model('Stats', StatsSchema); 

Вот код для добавления enties #!/Приложение/бен/узел

var request = require('request'); 
var Stats = require('../models/stats'); 


function getStats() { 
    request('http://someurl.com/', function (error, response, body) { 
    if (!error) { 
     console.log("tesT"); 
     console.log(body) // Print the google web page. 
     var obj = JSON.parse(body); 

     var coins = obj.coins; 
     var difficulty = obj.difficulty; 
     var up = obj.status; 
     var stat = new Stats(); 
     stat.totalblc = coins; 
     stat.difficulty = difficulty; 
     stat.up = up; 
     stat.save(function (err) { 
     if (err) { 
      console.log(err); 


     } 

     console.log("IN"); 
     }); 
    console.log("aa"); 
    } 
    else { 
     console.log(error); 
     console.log("TEST"); 
    } 
    }); 

} 

getStats(); 

Он console.logs все данные правильно, но ничего не добавляется в базу данных.

+0

Может быть, вы ищете в неправильном месте. Документы будут находиться в коллекции 'stats', а не' Stats'. – JohnnyHK

+0

Я считаю, что я нашел источник ошибки, и это то, что адрес базы данных определен в /app/config/initializers/03_mongoose.js, и это не читается или не замечается моим скриптом. Если я вручную добавлю mongoose.connect в свой скрипт, он работает, но это испортит другие страницы из-за попытки создать два соединения. Так что я все еще застрял – h00j

+0

Локомотивные приложения обычно запускаются с помощью команды 'lcm'. Это не является строгой необходимостью, вы также можете создать приложение Locomotive вручную, но оно все еще требуется, прежде чем что-либо в 'config/initializers' будет выполнено. – robertklep

ответ

0

Основываясь на ваш комментарий:

Я считаю, что я нашел источник ошибки, а в том, что база данных адресов определяется в /app/config/initializers/03_mongoose.js, и это ISN я не читал или не замечал мой сценарий. Если я вручную добавлю mongoose.connect в свой скрипт, он работает, но это испортит другие страницы из-за попытки создать два соединения. Так что я все еще застрял

... у вас возникла проблема, когда я изучал мангуст.

Здесь на StackOverflow, см:

  1. Defining Mongoose Models in Separate Module
  2. express: keep all DRY creating a mongoose connection module (using the new createConnection method)
  3. mongoose and model connections
Смежные вопросы