Я пытаюсь получить записи, добавленные в 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 все данные правильно, но ничего не добавляется в базу данных.
Может быть, вы ищете в неправильном месте. Документы будут находиться в коллекции 'stats', а не' Stats'. – JohnnyHK
Я считаю, что я нашел источник ошибки, и это то, что адрес базы данных определен в /app/config/initializers/03_mongoose.js, и это не читается или не замечается моим скриптом. Если я вручную добавлю mongoose.connect в свой скрипт, он работает, но это испортит другие страницы из-за попытки создать два соединения. Так что я все еще застрял – h00j
Локомотивные приложения обычно запускаются с помощью команды 'lcm'. Это не является строгой необходимостью, вы также можете создать приложение Locomotive вручную, но оно все еще требуется, прежде чем что-либо в 'config/initializers' будет выполнено. – robertklep