findOne()查询在mongo控制台上运行良好,但同一查询在my node.js代码中不返回任何内容
我正在用mongo数据库和node.js开发一个简单的问答系统 如果用户发送一个预期的问题,系统应该找到它并给出一个相关的答案 我在mongo控制台中尝试查询的第一个步骤是:findOne()查询在mongo控制台上运行良好,但同一查询在my node.js代码中不返回任何内容,node.js,mongodb-query,Node.js,Mongodb Query,我正在用mongo数据库和node.js开发一个简单的问答系统 如果用户发送一个预期的问题,系统应该找到它并给出一个相关的答案 我在mongo控制台中尝试查询的第一个步骤是: db.answers.findOne({“问题”:“theQuestion”}) 此查询返回与该问题匹配的文档 当我从node.js尝试相同的查询时,没有响应 MongoClient.connect(MONGO_PATH, function (err, client) { let db = client.d
db.answers.findOne({“问题”:“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
});
});
MongoClient.connect(MONGO_路径,函数(err,客户端){
设db=client.db(“fierobot”);
db.集合(“答案”).findOne({
问题:{$eq:“theQuestion”}
},函数(错误,响应){
如果(错误)
投掷误差;
如果(答复)
控制台日志(响应);
其他的
console.log(“无响应”);//您没有错误。请尝试console.log(响应)
一次。然后看看响应是什么。@kcsujeet当我说“无响应”时,我的意思是null
code看起来不错。您确定两个查询都针对同一个服务器和数据库吗?@JohnnyHK我实际上使用的是insertOne()
和findOneAndUpdate()
方法在同一代码中,它们似乎工作正常。但我不管理这些方法中的数据,这是我唯一需要操作从数据库接收到的数据的时刻,出于某种原因,我无法正确操作问题:“theQuestion”=>问题:{$eq:“theQuestion”}.为什么?.在else条件下使用console.log(响应)。查看发生了什么
{
"_id" : ObjectId("5d27211a8bd7a75659148866"),
"question" : "theQuestion",
"answer" : "theAnswer"
}
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
});
});