Узел JS Rest Service, использующий как оператор inito MongoDB - PullRequest
0 голосов
/ 19 января 2019

Я новичок в Node JS Develop. Я разработал специальный REST-сервис с Express и Mongo DB. Теперь мне нужно разработать сервис отдыха, который, когда я передаю какое-либо письмо, получает массив элементов, которые имеют эти буквы. Я полагаю, что я мог бы разработать сервис GET Rest, используя оператор like. Я пытался с этим кодом, но это неправильно:

router.get('/tire/autocomplete/:size', VerifyToken, function(req,res){
var size=req.params.size;
TechInfo.find({ Size: new RegExp(size, 'i') }).toArray(err, techinfos) => {
    if (err) {
        console.log(err);
        return res.status(400).send({ status: 'ko', data: {msg: err.message }});
        console.log(err);
    }
    res.status(200).send({status: 'ok', data: {msg: 'Size tires available', tires :techinfos}});
});
});

а это моя модель схемы

var TechInfoSchema = new Schema({

"ID_code" :{type: Number, required: true},
"inches" : {type: Number, required: true},
"Brand" : {type: String, required: true},
"Size" : {type: String, required: true},
"type" : {type: String, required: true}
},{
collection: 'techInfo'
});

var TechInfo = db.model('TechInfo',TechInfoSchema)
module.exports = TechInfo;

Когда я звоню в службу отдыха через почтальона, я получаю эту ошибку

<code><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>
<body>
    <pre>Cannot GET /api/v1.0/equipment/tires/autocoplete

Есть какой-нибудь пример, который я могу увидеть об отдыхе, чтобы сделать это? Спасибо

1 Ответ

0 голосов
/ 19 января 2019

почему вы конвертируете конечный результат, используя find в массив? это уже массив

router.get('/tire/autocomplete', VerifyToken, function(req,res){
var size=req.params.size;
TechInfo.find({ Size: new RegExp(size, 'i') },(err, techinfos) => {
    if (err) {
        console.log(err);
        return res.status(400).send({ status: 'ko', data: {msg: err.message }});
        console.log(err);
    }else{
    res.status(200).send({status: 'ok', data: {msg: 'Size tires available', tires :techinfos}});
    }

});
});

Я просто дал этот ответ как грубую идею Если это не решит проблему, обновите также пост с вашей схемой (модель)

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