Кратчайший быстрый и грязный полный рабочий код, который я могу получить на основе вашего примера, таков:
const { send } = require('micro')
const { router, get } = require('microrouter')
const { MongoClient } = require('mongodb')
var pantry = null
MongoClient.connect('mongodb://localhost')
.then(conn => {
pantry = conn.db('test').collection('pantry')
})
const getPantry = async (req, res) => {
const results = await pantry.find({}).toArray();
send(res, 200, results)
}
module.exports = router(get('/pantry', getPantry))
Вызов конечной точки с использованием curl
:
$ curl 'http://localhost:3000/pantry'
[{"_id":0},{"_id":1},{"_id":2}]
, который правильно показываетсодержимое коллекции.
Я считаю, что в вашем коде отсутствует метод toArray()
.find()
сам по себе возвращает курсор , и он не будет выводить результат запроса, если вы не сделаете с ним что-то, например, вызовом toArray()
или итерацией по нему с использованием forEach()