Я младший разработчик и занимаюсь разработкой REST-сервиса с использованием Node JS, Express, MongoDB на Azure.
В моей БД у меня есть Коллекция из большего количества машин с полями модели, типа и т. Д., И когда я делаю отдельный запрос, я получаю в ответ массив строк.
Пример:
[
"Massey Ferguson",
"JOHN DEERE",
"FENDT",
"NEW HOLLAND",
"CASE-IH",
"DEUTZ-FAHR",
"VALTRA/VALMET",
"SAME",
"BCMH",
"CASE",
"CATERPILLAR",
"CHALLENGER"
]
Теперь я написал сервис GET:
router.get('/machine_brand', function(req,res){
Machine.find().distinct('Brand', (err, items) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
console.log(err);
}
console.log(items);
res.status(200).send({status: 'ok', data: {msg: 'Brands available', brand:items}});
});
});
Ответ службы - 200, но в качестве ответа json я получаю пустой массив
{
"status": "ok",
"data": {
"msg": "Brands available",
"brand": []
}
}
Почему массив пуст?
Как можно получить в массиве тот же ответ на запрос монго, который я запустил на робомонго?
Я пробовал также с find () и ruslt то же самое: пустой массив []
router.get('/machine', function(req,res){
Machine.find({}, (err, machine) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
}
res.status(200).send({status: 'ok', data: {msg: 'Lista machine', machine: machine}});
});
});
А это моя модель:
var db = require('../config/db.js');
var MachineSchema = db.Schema({
Brand: {type: String, required: true},
Model: {type: Number, required: true},
Version:{type: String, required: true},
Hp: {type: String, required: true}
});
db.model('Machine', MachineSchema);
module.exports = db.model('Machine');
Спасибо за вашу помощь
Лучшее,