Javascript 如何从get请求中提取MongoDB文档的主体?

Javascript 如何从get请求中提取MongoDB文档的主体?,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我试图访问MongoDB中JSON文档主体中的Question字段。当我运行GET请求时,我得到如下内容: { "_readableState": { "objectMode": true, "highWaterMark": 0, "buffer": { "head": null, "tail": null, "length": 0 }, "length": 0, "pipes": null,

我试图访问MongoDB中JSON文档主体中的
Question
字段。当我运行GET请求时,我得到如下内容:

{
"_readableState": {
    "objectMode": true,
    "highWaterMark": 0,
    "buffer": {
        "head": null,
        "tail": null,
        "length": 0
    },
    "length": 0,
    "pipes": null,
    "pipesCount": 0,
    "flowing": null,
    "ended": false,
    "endEmitted": false,
    "reading": false,
    "sync": true,
    "needReadable": false,
    "emittedReadable": false,
    "readableListening": false,
    "resumeScheduled": false,
    "destroyed": false,
    "defaultEncoding": "utf8",
    "awaitDrain": 0,
    "readingMore": false,
    "decoder": null,
    "encoding": null
},
"readable": true,
"domain": null,
"_events": {},
"_eventsCount": 0,
"_opts": {},
"_destroyed": false
}
我读过关于JSON主体解析器的文章,但补充说这似乎不起作用。这是我的
index.js

 var express = require('express')
 var mongojs = require('mongojs')
 var bodyParser = require("body-parser");
 var app = express()
 var db = require('./myDB.js')

 app.use(bodyParser.urlencoded({ extended: false }));
 app.use(bodyParser.json());

 app.use(express.json())
 app.listen(4000, () => console.log('Hello'))

 app.get('/getFlashCard', (req, res) => {
 let flashID = req.body._id;
 db.getFlashCard("Interview Questions", flashID, function(docs) {
    console.log("Flashcard retrieved: ", docs);
        res.send(docs);
    });
 });
getFlashCard : function(colName, flashID, callback) {
    let data = mongodb.collection("Interview Questions").find({
        "_id" : flashID
    });
    callback(data);
}
这是我的
myDB.js

 var express = require('express')
 var mongojs = require('mongojs')
 var bodyParser = require("body-parser");
 var app = express()
 var db = require('./myDB.js')

 app.use(bodyParser.urlencoded({ extended: false }));
 app.use(bodyParser.json());

 app.use(express.json())
 app.listen(4000, () => console.log('Hello'))

 app.get('/getFlashCard', (req, res) => {
 let flashID = req.body._id;
 db.getFlashCard("Interview Questions", flashID, function(docs) {
    console.log("Flashcard retrieved: ", docs);
        res.send(docs);
    });
 });
getFlashCard : function(colName, flashID, callback) {
    let data = mongodb.collection("Interview Questions").find({
        "_id" : flashID
    });
    callback(data);
}

这里返回的是promise模型,而不是实际解析的数据

getFlashCard:async函数(colName、flashID、回调){ const data=wait mongodb.collection(“采访问题”).find({u id:flashID}); 回调(数据); }
请注意,您并不是在等待
查找
完成,而是将
数据
分配给
mongodb.collection(“”)。查找

您需要等待
find
通过回调(签出)或使用async/await来完成