I am trying to get my nodejs controller to update the rate in the currency table.
Everything works fine in S3T / RoboMongo, but for some reason it just wont fire the update inside the nodejs controller.
Here is my currency table
{ 
    "_id" : "USD", 
    "index" : NumberInt(6), 
    "name" : "Dollar", 
    "currency" : "USD", 
    "symbol" : "$", 
    "active" : true, 
    "default" : false,
    "rate" : 0
}
{ 
    "_id" : "EUR", 
    "index" : NumberInt(2), 
    "name" : "Euro", 
    "currency" : "EUR", 
    "symbol" : "€", 
    "active" : true, 
    "default" : false,
    "rate" : 0  
}
I tried both of these, works fine in S3T but not inside nodejs:
db.currency.update (
    { _id : "EUR" },
    { $set: { rate : 123 }},
    { upsert: true }
)
db.currency.updateOne (
    { _id : "EUR" },
    { $set: { rate : 123 }},
    { upsert: true }
)
Here is my nodejs code:
var mongoose = require('mongoose');
var currencyModel = require('../models/currencyModel');
var currencyTable = mongoose.model('currencyModel');
var updateRates = () => {
    return new Promise((resolve, reject) => {
        for (var key in data.quotes) {
            var currencyID = key.substring(3);
            var newRate = (data.quotes[key] * THBUSD).toFixed(5);
            console.log("currencyID: " + currencyID)
            console.log("newRate: " + newRate)
            currencyTable.update (
                { _id: currencyID },
                { $set: { rate : newRate }},
                { upsert: true }                    
            ),function (err, data) {
                if (err) {
                    reject(new Error('updateRates: ' + err));
                };
            };                      
        };
       resolve();
   })};
And here is my currencyModel (which is where I think the problem is?!?)
// Currency Model
// This model is the structure containing data from the Currency table 
//
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var currencySchema = new Schema({
    _id:                String,     // Unique Currency code
    index:              Number,     // Indes for sorting
    name:               String,     // Currency name 
    symbol:             String,     // Currency symbol 
    active:             Boolean,    // Active True False
    rate:               Number      // Exchange rate (multiply with THB price)
});
module.exports = mongoose.model('currencyModel', currencySchema, 'currency');
I cannot see why it wont fire the currencyTable.update from inside nodejs.
I turned debug on in mongoose, and I see all other mongodb operations in the console like Mongoose: price.findOne({ _id: 'ATL-D406' }, { fields: {} }) etc.. but I do not see this currency.update in the console, which is why I dont think its fired off to mongodb - and I cannot see the reason.
 
    