Использовать коллекцию Rename в мангусте

1

У меня проблема. Я переименовал ответы своей коллекции в старые. Он работает очень хорошо, но теперь мне нужно получить мои данные, и я затрудняюсь с тем, что я использовал модель только для извлечения моих данных из коллекции. Но теперь мне нужно получить мои данные из моей переименованной коллекции, но у меня нет модели и схемы. Я попытался создать схему и модель, но это не сработало. Он не возвращает никаких элементов.

Вот часть кода:

app.get("/Play", function(req, res) {
  var urlTempBox = 'http://localhost:3000/Play';

  ///////////////////////////////////////////////////////////
  request(urlTempBox, function(error, response, body) {
    if (error) {
      throw (error);
    } else {
      var jobj = JSON.parse(response.body);
      persistRS(jobj);

      setTimeout(function() {
        ResponseDatabase.find()
          .populate('unitCode')
          .exec(function(err, finalData) {
          if (err) throw (err);
          mongoose.connection.db.listCollections({
            name: 'old'
          })
            .next(function(err, collinfo) {
            if (err) throw (err);
            if (collinfo) {
              console.log('lookinOld');
              OldResponseDatabase.find()
                .populate('unitCode')
                .exec(function(err, oldData) {
                if (err) throw (err);
                console.log('itsOld');
                console.log(oldData);
                res.send(finalData);
              });
            } else {
              console.log('fk');
              res.send(finalData);
            }
          })
        })
      }, 5000);
    }
  });

Вот часть, где это не работает: console.log(oldData) ничего не возвращает. И я знаю, что мои данные находятся в базе данных, когда я пытаюсь их восстановить.

if (collinfo) {
  console.log('lookinOld');
  OldResponseDatabase.find()
    .populate('unitCode')
    .exec(function(err, oldData) {
      if (err) throw (err);
      console.log('itsOld');
      console.log(oldData);
      res.send(finalData);
    });
}
Теги:
find
mongoose
rename

1 ответ

0
Лучший ответ

Наконец я нашел, как это сделать, может быть, это будет полезно для кого-то

Вам просто нужно в вашей схеме точно определить название вашей коллекции (коллекция: "old")

var nameSchemaOldRS = new mongoose.Schema({
  MainClass: String,
  BookingClass: String,
  carID: String,
  unitCode:{type: String, ref: 'Map' ,required: [true,'No post id found']},
  Deck:Number,
  Orientation:String,
  Position:String, 
  }, {
  versionKey: false,
  collection : 'old' 
},);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню