Пн goose не может найти последнее сохраненное - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь сохранить IP-адрес клиента, который подключается к моему сценарию.

Однако, хотя я не получаю никаких ошибок, при проверке коллекции она пуста.

index. js (основное приложение)

const Listeners = require('mongoose').model('listeners');

const userData = {"ipaddress":ip}

const Listener = new Listeners(userData);

Listener.save(function (err, userData) {
    if (err) return console.error(err);
});

Пн goose index. js

const mongoose = require('mongoose');

module.exports.connect = (uri) => {
  mongoose.connect(uri, {useCreateIndex: true, useFindAndModify: false , useNewUrlParser: true, useUnifiedTopology: true });
  // plug in the promise library:
  mongoose.Promise = global.Promise;

  mongoose.connection.on('open',function() {
    console.log('Mongoose connected. what did you think');
    });

  mongoose.connection.on('error', (err) => {
    console.error(`Mongoose connection error: ${err}`);
    process.exit(1);
  });

  // load models
  require('./listener');

};

Мой файл слушателя

const mongoose = require('mongoose');
// define the User model schema
const ListenerSchema = new mongoose.Schema({
    ipaddress: {
      type: String,
     // index: { unique: true }
    },
    station: String,
    start_time:{
     type: Date
    },
    end_time:{
        type: Date
    }
  }, { collection: 'listeners'});


  /**
 * The pre-save hook method.
 */
ListenerSchema.pre('save', function saveHook(next) {
    const Listener = this;
  console.log(this)
});


module.exports = mongoose.model('listeners', ListenerSchema);

когда Я запускаю его и получаю { _id: 5e2bf98549ae2d5d6da52475, ipaddress: '127.0.0.1' }

Однако, когда я открываю коллекцию mongodb, я ничего не вижу.

Кажется, что нет ошибки, но должно быть?

1 Ответ

0 голосов
/ 25 января 2020

? Единственная причина , почему вы не можете сохранить свои данные в collection, потому что этот код в вашем файле listener.

?‍? Попробуйте прокомментировать этот код ниже ?:

  /**
 * The pre-save hook method.
 */
ListenerSchema.pre('save', function saveHook(next) {
    const Listener = this;
  console.log(this)
});

?‍? или, , вторая опция - это добавление next функции туда. Итак, ваш код будет выглядеть следующим образом: 101:

  /**
 * The pre-save hook method.
 */
ListenerSchema.pre('save', function saveHook(next) {
    const Listener = this;
    console.log(this);
    // add next function below
    next();
});

А теперь, , вы можете повторить попытку , и я уверен, что вы можете увидеть коллекцию в вашем mongodb.

Надеюсь, это поможет вам ?.

...