Я довольно часто пишущий resti api in nodejs довольно успешно. В MongoDB есть две коллекции, к которым я обращаюсь, которые возвращают пустые строки и являются единственными коллекциями, которые содержат заглавные буквы в их именах. Когда я использую MongoClient, я могу получить доступ к этим коллекциям очень хорошо, поэтому я знаю, что это не устаревший драйвер mongodb.Mongoose find возвращает пустой массив (отлично работает для других коллекций)
один пример, когда я пытаюсь получить доступ коллекцию под названием bulkBuds
//bulkBuds model
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var BulkBudsSchema = new Schema({
sourceLicense: String,
quantity: Number,
strainName: String,
priceProfile: String
});
mongoose.model('bulkBuds', BulkBudsSchema);
Контроллер имеет немного избыточной логики в запросе, а просто находка возвращает пустую строку, а также.
//bulkBuds controller
var express = require('express'),
router = express.Router(),
mongoose = require('mongoose'),
BulkBuds = mongoose.model('bulkBuds'),
Friends = mongoose.model('Api'),
config = require('../../config/config'),
jwt = require('express-jwt');
module.exports = function (app) {
app.use('/api/bulkBuds/', router);
};
router.get('/:license', jwt({secret: config.secret}), function (req, res, next) {
if(!req.user.friend){
res.status(401);
}
Friends.findById(req.user.id, function(err, friend){
if(err) throw err;
if(!friend) res.send("friend does not exist");
if(req.user.username != friend.username) res.send("invalid user");
console.log(req.params.license);
console.log(BulkBuds.find({}));
BulkBuds.find({'storeLicense': req.params.license, 'availableForSale': true},
"sourceLicense quantity strainName priceProfile", function (err, bulkBuds) {
if (err) return next(err);
console.log(bulkBuds);
res.send(bulkBuds);
});
})
});
Любые предложения были бы весьма благодарны, спасибо.
Спасибо за ответ. Это отличный совет, к сожалению, я уже сделал эти шаги, но я определенно ценю вашу помощь. – user3073234
Хммм, я добавил номер 4, не уверен, что это поможет, но стоит сделать снимок. Документацию можно найти здесь. http://mongoosejs.com/docs/models.html – user2263572
Странно, что оператор console.log исправил это. Это может быть проблема синхронности. – user3073234