Как вы получаете несколько частей информации из коллекции на сервере? - PullRequest
0 голосов
/ 09 апреля 2020

Вот немного кода, который у меня есть

server.get("/get", getCallback);

function getCallback(req,res) {
    collection.find({}).next(findCallback);
    function findCallback(err,foundRecord) {
        if (err == null) {
            console.log('FOUND: ' + foundRecord);
            return res.status(200).send(foundRecord);
        }
        else
            throw err;
    }

}

Это возвращает меня обратно {"readyState":1} в консоли.

Независимо от того, что я пытаюсь, это дает мне различные типы ошибок. У меня нет проблем с сохранением данных в коллекцию, но как только я go вытащил их, ничего не работает.

1 Ответ

0 голосов
/ 09 апреля 2020

При использовании express маршрут get принимает форму:

server.get('/', function (req, res) {
    res.send('your response document...')
})

. Вы хотите отобразить набор документов коллекции MongoDB в браузере по адресу (сервер express прослушивает порт 3000): http://localhost:3000/get

// Server
const express = require('express');
const server = express();
const port = 3000;

server.listen(port, () => console.log('App listening on port ' + port));

// MongoDB client
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
const url = 'mongodb://localhost:27017';
const client = new MongoClient(url, { useNewUrlParser: true, useUnifiedTopology: true } );

// Your get request
server.get('/get', function (req, res) {
    client.connect(function(err) {
        assert.equal(null, err)
        console.log('Connected to MongoDB server on port 27017')
        const db = client.db('test')
        const collection = db.collection('collectionName')
        collection.find({}).toArray(function(err, docs) {
            assert.equal(err, null)
            console.log('Found the following documents:')
            console.log(docs)
            res.send(docs)
            client.close()
        } )
    } )               
} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...