MongoDB查询返回一个空数组,但不返回另一个空数组
我正在开发一个基本的应用程序,它可以返回基于流派和子流派的书籍列表。但是,当我在postman上测试后端时,它返回一个空数组,我不确定这是否与我的路由或生成此列表的实际代码有关 这就是我的路线MongoDB查询返回一个空数组,但不返回另一个空数组,mongodb,Mongodb,我正在开发一个基本的应用程序,它可以返回基于流派和子流派的书籍列表。但是,当我在postman上测试后端时,它返回一个空数组,我不确定这是否与我的路由或生成此列表的实际代码有关 这就是我的路线 // get books based on the genre router.get('/books/:genre', bookBuilder.get_some_books) // get books based on multiple queries router.get('/book
// get books based on the genre
router.get('/books/:genre', bookBuilder.get_some_books)
// get books based on multiple queries
router.get('/books/:genre&subgenre', bookBuilder.get_these_books)
这是查询我的MongoDB数据库的代码
// getting book by genre & subgenre
exports.get_these_books = async function (req, res) {
let { genre, subgenre } = req.params;
try {
let books = await Book.find({"genre": genre, "subgenre": {$all: [subgenre]}});
if (books) {
res.json(books)
} else {
res.status(404).send({error: 'Not Found'});
}
} catch (err) {
res.status(500).send({error: err.message});
}
}
按体裁列出一份书单就行了。但事实证明,通过体裁和亚体裁的学习是很困难的
编辑:
示例文档是
title:"Ghost Squad"
author: Array
genre:"MG"
subgenre: Array
0:"Ghost Story"
1:"Fantasy Fiction"
description:"Shortly before Halloween, Lucely and her best friend, Syd, cast a spel..."
如您所见,子类型是一个数组。1)发布示例文档,2)模式中的
子类型字段的类型是什么3)显示控制台.log(子类型)
输出。@turivishal我已经添加了编辑。但是console.log(子类型)没有显示任何内容somehow@Rhys我不确定是否可以传递两个参数来表示如下路线:/books/:genre&subgenre
。在let{genre,subgenre}=req.params行之后放置console.log(subgenre)代码>什么也没收到?@ngKhoaĐinh你说得对,我需要改变快车路线。我把它改成了/books/:genre/:subgenre,这样效果更好