gpt4 book ai didi

node.js - findOne NodeJS MongoDB 驱动程序

转载 作者:IT老高 更新时间:2023-10-28 13:12:04 25 4
gpt4 key购买 nike

我在一个名为“English”的集合中拥有如下所示的 JSON 数据,为此我正在使用 MongoDB 驱动程序设置一个带有 nodejs 应用程序的 REST api。如果我执行以下操作,我将获得浏览器中返回的所有 JSON 数据。

app.get('/sentences', function (req, res){

db.collection('english', function(err, collection) {
collection.find().toArray(function(err, items) {

res.send(items);
});
});

})

但是,当我尝试转到 /sentences/1 获取一条记录时,应用程序卡住(浏览器选项卡中的半月形变慢)并且没有记录错误。我这样做 findOne 的方式有问题吗?

app.get('/sentences/:id', function(req,rest){

var query = { 'question' : req.params.id };
console.log(query);
console.log('query');

db.collection('english', function(err, collection) {

collection.findOne(query, function(err, item) {
console.log(err);
res.send(item);
});
});
});

JSON 数据

[
{
"_id": "526c0e21977a67d6966dc763",
"question": "1",
"uk": "blah blah blah",
"us": "blah blah balh"
},
{
"_id": "526c0e21977a67d6966dc764",
"question": "2",
"uk": "Tom went outside for a fag. I think he smokes too much!",
"us": "Tom went outside for a cigarette. I think he smokes too much!"
},
{
"_id": "526c0e21977a67d6966dc765",
"question": "3",
"uk": "Do you fancy going to the cinema on Friday?",
"us": "How about going to the movies on Friday"
}
]

更新

发生的情况是应用程序最终超时,并且我在浏览器中收到 No data received 消息。

最佳答案

nodejs mongodb findOne by id

虽然晚了,但会对别人有所帮助。

var id = new require('mongodb').ObjectID('58fcf02b1ab5de07e2a1aecb');//req.params.id
db.collection('users').findOne({'_id':id})
.then(function(doc) {
if(!doc)
throw new Error('No record found.');
console.log(doc);//else case
});

关于node.js - findOne NodeJS MongoDB 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com