在使用mongoose中的slug属性值而不是id来查询具体的Post,可以通过以下步骤实现:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const postSchema = new Schema({
title: String,
content: String,
slug: {
type: String,
unique: true
}
});
const Post = mongoose.model('Post', postSchema);
slugify
库来生成slug值。const slugify = require('slugify');
const createPost = async (title, content) => {
const slug = slugify(title, { lower: true });
const post = new Post({ title, content, slug });
await post.save();
};
findOne
方法,并传入slug作为查询条件。const getPostBySlug = async (slug) => {
const post = await Post.findOne({ slug });
return post;
};
这样,你就可以通过slug属性值而不是id来查询具体的Post了。
对于以上问题中提到的mongoose、slug属性、Post模型、URL友好标识符等名词,下面是它们的概念、分类、优势、应用场景以及腾讯云相关产品和产品介绍链接地址的介绍:
以上是关于如何通过mongoose中的slug属性值而不是id来查询具体的Post的完善且全面的答案。
领取专属 10元无门槛券
手把手带您无忧上云