gpt4 book ai didi

node.js - 使用 .toArray 查询不会返回任何结果供查看

转载 作者:可可西里 更新时间:2023-11-01 09:34:02 27 4
gpt4 key购买 nike

试图返回新闻的所有“标题”。它没有向前端返回任何东西。有什么问题?

var table = [];

router.get('/api/v1/news', function (req, res) {

var title = req.params.title;

News.find({title: title}).toArray(function (err, news) {

if (err) {
res.send('error');
} else if (news.length > 0){

//table.push(news);
News.on('row', function (row) {
table.push(row);
});

// After all data is returned, close connection and return results
News.on('end', function () {
done();
return res.json(table);
});
}
});
});

更新:

好的,它不会返回任何值。这是它在数据库中的样子:

{
"_id": {
"$oid": "592142b13257303488922eb2"
},
"date": "21-05-2017",
"text": "noniin",
"title": "moi",
"__v": 0
},

{
"_id": {
"$oid": "59217776697b07245cc7d87f"
},
"date": "21-05-2017",
"text": "hgggg",
"title": "thghfg",
"__v": 0
}

集合名称是新闻。我可以在不指定查询“title”的情况下获取所有数据,但有了它,什么也没有。

我对 req.params 的理解有误吗?新闻集 -> 从集内查找所有“标题”并返回查看。

最佳答案

我认为您混淆了 req.paramsreq.query。如果您的请求 URL 的形式是 -

http://host/api/v1/news?title=something

那么 title 的值将在 req.query.title 中可用。

否则如果它的形式是 -

http://host/api/v1/news/:title

那么 title 的值将在 req.params.title 中可用。

关于node.js - 使用 .toArray 查询不会返回任何结果供查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44172469/

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