NodeJS MongoDB Динамический поиск () Запрос - PullRequest
0 голосов
/ 09 января 2019

Я запросил mongodb для полного сбора в базе данных, создав динамический запрос на поиск с использованием параметра запроса в выраженном nodejs. Но по запросу ничего не найдено.

const mongo=require('mongodb')
const MongoClient=mongo.MongoClient;
const assert=require('assert');
const express=require('express');
const app=express();
const http=require('http');

const url='http://127.0.0.1:27017';
const port='8000';
const host="localhost";

var server=http.createServer(app);
app.get('/:title',(req, res)=>{

    res.setHeader('Access-Control-Allow-Origin', '*')
    res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
    res.setHeader('Access-Control-Allow-Headers', 'Authorization');

    MongoClient.connect(url, (err, db)=>{
    var database=db.db('AppDatabase');

    var search=req.params.title;

    const query={"search":{search}};
    database.collection('testdata').find(query).toArray((err, result)=>{
        assert.equal(null,err);
        var data=JSON.stringify(result);

        res.send(data);
        db.close();
    });
    });
});   

server.listen(port, host,()=>{
    console.log("running");
});

ожидаемый результат - полная коллекция, а фактический результат - «[]».

1 Ответ

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

Невозможно ответить окончательно, не видя схемы для вашей базы данных. Но у меня есть подозрение, что у вас нет словарного ключа «search», но должен быть «title». Я бы изменил код так, чтобы он выглядел так:

var search=req.params.title;

const query={title:search};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...