findOne()查询在mongo控制台上运行良好,但是同一查询在我的node.js代码中未返回任何内容

时间:2019-07-12 11:09:00

标签: node.js mongodb-query

我正在开发一个具有mongo数据库和node.js的简单问答系统。

如果用户发了一个预期的问题,系统应该找到它并给出一个相关的答案。

我首先尝试在mongo控制台中进行查询的是:

db.answers.findOne({"question": "theQuestion"})

此查询返回与该问题匹配的文档。

当我尝试从node.js进行相同的查询时,没有响应。

MongoClient.connect(MONGO_PATH, function (err, client) {
        let db = client.db("fierobot");

        db.collection("answers").findOne({
            question: "theQuestion"
        }, function (error, response) {
            if (error)
                throw error;
            if (response)
                console.log(response);
            else
                console.log("NO RESPONSE"); // <-- I always get this
        });
    });

这是我应该收到的:

{
        "_id" : ObjectId("5d27211a8bd7a75659148866"),
        "question" : "theQuestion",
        "answer" : "theAnswer"
}

1 个答案:

答案 0 :(得分:0)

MongoClient.connect(MONGO_PATH, function (err, client) {
        let db = client.db("fierobot");

        db.collection("answers").findOne({
            question: { $eq: "theQuestion" }
        }, function (error, response) {
            if (error)
                throw error;
            if (response)
                console.log(response);
            else
                console.log("NO RESPONSE"); // <-- I always get this
        });
    });