Skip to content

Instantly share code, notes, and snippets.

@hydeenoble
Last active January 16, 2017 15:29
Show Gist options
  • Save hydeenoble/eca00480f51be549fcc9748fec23eb37 to your computer and use it in GitHub Desktop.
Save hydeenoble/eca00480f51be549fcc9748fec23eb37 to your computer and use it in GitHub Desktop.
Learning Node and MongoDb
/**
* Created by hydee on 1/16/17.
*/
var Disease = require('./diseaseschema')
var disease;
var diseases = require('./getDiseases')
//saving to database.
diseases.diseaseDetails(function (diseaseData) {
for (var i = 0; i < diseaseData.length; i++){
disease = new Disease({
_id: diseaseData[i].id,
name: diseaseData[i].name,
data_updated_at: diseaseData[i].data_updated_at,
facts: diseaseData[i].facts,
symptoms: diseaseData[i].symptoms,
transmission: diseaseData[i].transmission,
diagnosis: diseaseData[i].diagnosis,
treatment: diseaseData[i].treatment,
prevention: diseaseData[i].prevention,
more: diseaseData[i].more
});
disease.save(function (err, response) {
if(err){
console.log(err);
}else{
console.log('Data Saved successfully');
}
})
}
});
//retriving from database
/**
* Created by hydee on 1/16/17.
*/
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/DiseaseDB');
var Disease = mongoose.model('Disease', {
_id : Number,
name: String,
data_updated_at: String,
facts: Array,
symptoms: {
type: String,
default: null
},
transmission: {
type: String,
default: null
},
diagnosis: {
type: String,
default: null
},
treatment: {
type: String,
default: null
},
prevention: {
type: String,
default: null
},
more: {
type: String,
default: null
}
});
module.exports = Disease
/**
* Created by hydee on 1/16/17.
*/
const request = require('request');
var diseaseDetails = function(callback){
request({
url:'https://disease-info-api.herokuapp.com/diseases/',
json:true
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
callback(body.diseases);
}
});
};
module.exports.diseaseDetails = diseaseDetails;
var disease = require('./diseaseschema')
disease.findOne({name: "Rabies - WHO"}, function (err, response) {
if(err){
console.log(err);
}else if(response){
console.log(response);
}else{
console.log('Disease not found');
}
});
@mykeels
Copy link

mykeels commented Jan 16, 2017

I can't see your code ...

@mykeels
Copy link

mykeels commented Jan 16, 2017

In app.js, the disease variable on line 5 is undefined initially. It could be defined and initialized within the for loop instead e.g.

for (var i = 0; i < diseaseData.length; i++){
        var disease = new Disease({
            _id: diseaseData[i].id,
            name: diseaseData[i].name,
            data_updated_at: diseaseData[i].data_updated_at,
            facts: diseaseData[i].facts,
            symptoms: diseaseData[i].symptoms,
            transmission: diseaseData[i].transmission,
            diagnosis: diseaseData[i].diagnosis,
            treatment: diseaseData[i].treatment,
            prevention: diseaseData[i].prevention,
            more: diseaseData[i].more
        });

@hydeenoble
Copy link
Author

pls leave a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment