Arrays Mongoose-通过其ID填充单个文档
我有一个名为category的模型,它有两个字段 类别名称和书籍 books字段是书籍ID的数组((参考文献)) 我想在调用要填充的.populate()时指定一个id,而不是在MongoDB+Mongoose中填充整个数组 我的代码:Arrays Mongoose-通过其ID填充单个文档,arrays,mongodb,mongoose,Arrays,Mongodb,Mongoose,我有一个名为category的模型,它有两个字段 类别名称和书籍 books字段是书籍ID的数组((参考文献)) 我想在调用要填充的.populate()时指定一个id,而不是在MongoDB+Mongoose中填充整个数组 我的代码: categories.get('/bookId', async (req, res) => { const bookId = req.params.bookId; try { const categories = await
categories.get('/bookId', async (req, res) => {
const bookId = req.params.bookId;
try {
const categories = await Category.find().populate('books')
if (!categories || categories.length == 0) return res.status(404).send("No categories found");
res.status(200).send(categories);
} catch (error) {
res.send(error.message);
}
});
如果您只想通过其ID填充特定书籍,则可以使用以下方法:
categories.get('/bookId', async (req, res) => {
const bookId = req.params.bookId;
try {
const categories = await Category.find().populate({
path: 'books',
match: { _id: bookId }
})
if (!categories || categories.length == 0) return res.status(404).send("No categories found");
res.status(200).send(categories);
} catch (error) {
res.send(error.message);
}
});
请提供迄今为止您尝试过的代码。谢谢。代码填充整个数组,我们想使用param(bookId)从books数组中填充一本特定的书,而不是填充整个arraycategories。get('/bookId',async(req,res)=>{const bookId=req.params.bookId;try{const categories=wait Category.find().populate('books'))如果(!categories | | categories.length==0)返回res.status(404).send(“未找到类别”);res.status(200.send(categories);}catch(error){res.send(error.message);});