使用.toArray查询不会返回任何结果以查看
尝试返回新闻的所有“标题”。它没有返回任何前端。有什么问题?使用.toArray查询不会返回任何结果以查看
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);
});
}
});
});
UPDATE:
好了,它不返回任何值。这是它在数据库中的外观:
{
"_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
}
集合名称是新闻。我可以在不指定查询“标题”的情况下获取所有数据,但无需任何数据。
我理解req.params错了吗?新闻收藏 - >从收藏集中找到所有'标题'并将它们返回到视图中。
我想你混淆req.params
与req.query
。 如果您的请求URL的形式是 -
http://host/api/v1/news?title=something
然后标题的值将在req.query.title
可用。
否则,如果它的形式 -
http://host/api/v1/news/:title
然后标题的值将req.params.title
可用。
谢谢。你能举个例子,我怎么做“打电话”来接收所有的新闻“标题”?(我不想得到任何其他信息;“文本”,“日期”等) – edu
然后指定哪一个在你的查询中需要这样的参数 - 'News.find({title:title},{title:1})''。更多信息[这里](https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/)。 –
下面的解决方案尝试,并通过参数体,
router.get('/api/v1/news', function (req, res) {
var title = req.body.title;
return News.find({title : title},function (err, title) {
if (!err) {
return res.json({ status: 200, message: "success", data: title});
}
else {
return res.json({ status: 500, message: "failure" });
}
});
});
^^更新了我的问题,thx事先! =) – edu
你也可以使用上面的方法,但是在体内传参数并在代码中做小改动。将req.params.title替换为req.body.title –
你应该改变/API/V1 /新闻到/API/V1 /新闻/:标题
var table = [];
router.get('/api/v1/news/:title', 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) {
News.on('row', function(row) {
table.push(row);
});
News.on('end', function() {
done();
return res.json(table);
});
}
});
});
你在标题= req.params.title获得价值? –