Mongoose только возвращает идентификатор из MongoDB - PullRequest
0 голосов
/ 28 ноября 2018

В настоящее время я пытаюсь включить таблицы данных в мою базу данных MongoDB.У меня возникли проблемы с доступом к возвращенному объекту.Основная проблема, которую я вижу, заключается в том, что я получаю только _id, возвращенный из MongoDB, и никаких значений объекта.

Вот код, который я использую для передачи информации в таблицы данных.

var itemsModel = require('./models/itemReturn');

exports.getItemList = function(req, res) {

  var searchStr = req.body.search.value;
  if (req.body.search.value) {
    var regex = new RegExp(req.body.search.value, "i")
    searchStr = { $or: [{ 'productName': regex }, { 'itemPrice': regex }, { 'Quantity': regex }, { 'Description': regex }, { 'seller': regex }] };
  } else {
    searchStr = {};
  }

  var recordsTotal = 0;
  var recordsFiltered = 0;

  itemsModel.count({}, function(err, c) {
    recordsTotal = c;
    console.log(c);
    itemsModel.count(searchStr, function(err, c) {
      recordsFiltered = c;
      itemsModel.find(searchStr, 'productName itemPrice Quantity Description seller', { 'skip': Number(req.body.start), 'limit': Number(req.body.length) }, function(err, results) {
        if (err) {
          console.log('error while getting results' + err);
          return;
        }
        var data = JSON.stringify({
          "draw": req.body.draw,
          "recordsFiltered": recordsFiltered,
          "recordsTotal": recordsTotal,
          "data": results
        });
        console.log(data);
        res.send(data);
      });

    });
  });
};

Это модель

// app/models/itemsReturn.js
// load the things we need
var mongoose = require('mongoose');


var schemaOptions = {
  timestamps: true,
  toJSON: {
    virtuals: true
  },
  toObject: {
    virtuals: true
  }
};


// define the schema for our item model
var itemsReturned = mongoose.Schema({
  productName: String,
  itemPrice: String,
  Quantity: String,
  Description: String,
  seller: String
}, schemaOptions);


// create the model for users and expose it to our app
var items = mongoose.model('items', itemsReturned);
module.exports = items;

Дело в том, что я знаю, что это не проблема с таблицей данных, поскольку я могу заставить _id появляться в таблицах.Мне просто нужно знать, как вернуть весь объект, а не только _ID, чтобы я мог получить доступ к значениям объекта.

Если это поможет, это учебник, которому я следую.

ОБНОВЛЕНИЕ: Хорошо, поэтому я выяснил, почему мои коллекции MongoDB только возвращали идентификатор элемента.Проблема заключалась в том, что я хранил все в локальной базе данных (упс).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...