gpt4 book ai didi

javascript - Mongoose .find 带有 req.params 数组?和 res.json 每个值和计数的数组?

转载 作者:行者123 更新时间:2023-12-02 17:19:24 26 4
gpt4 key购买 nike

理想情况下,用户能够在搜索字段中输入多个标签,然后在客户端(在 .get 调用之前)定义这些标签,并在每次按键时通过 ajax 发送。

在服务器端工作(使用 Postman 测试 API),如果 .get 将变量标签作为 ['tag1', 'tag2'] 数组提供,可以 req.params.tags数组?

如果是这样,服务器会是什么样子 - 现在,我只收到来自 Postman 的 localhost:4200/api/v1/tag/tagName 的响应,但没有收到/tag/tagName1+tagName2 或/标签/标签名称1&标签名称2

这是当前的 API:

router.route('/tag/:tags')

// get the list of tags for userGenerated tags (accessed at GET http://localhost:4200/api/v1/tag/:tags)
.get(function(req, res) {

Story.count( { tags: { $in: [ req.params.tags ] } }, function (err, count) {

if (err)
res.send(err);

console.log('there is/are %d story/ies with this/these tag(s)', count);

if (count >= 1) {

Story.find( { tags: { $in: [ req.params.tags ] } }, 'tags', function(err, stories) {

if (err)
res.send(err);

res.json(stories); // something to return the count of each tag with the tag

}); // find and return tags

} // if count >= 1

if (count < 1) {

res.json({ message: count + ' results' });

} // if count < 1

}); // .count

}); // get list of tags

其次,我是否需要使用 .aggregate (还没有真正探索过这一点),然后使用 res.json 一个标签数组,我可以循环遍历它来获取每个 tagName 和每个特定标签的计数。

最佳答案

这实际上不是一个特定于 mongo 的问题,而是一个明确的问题(我假设您在这里使用的是明确的)。

express 没有办法自动将动态段(url 中以 : 为前缀的部分)解析为数组,但您可以轻松地自己完成:

// example url: /tags/tag1,tag2
app.get('/tags/:tags', function(req, res){
var tags = req.params.tags.split(','); // ['tag1','tag2']
res.send('you entered tags :' + tags.join(','));
});

这是一个可运行的示例:http://runnable.com/U5SI2eAfzMh7Sfkt/example-reading-an-array-of-arguments-in-req-params-with-express-for-node-js-and-hello-world

关于javascript - Mongoose .find 带有 req.params 数组?和 res.json 每个值和计数的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24102384/

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