我试图用mongo和api做一个搜索过滤器,但它出错了



当我在表单中键入内容时,我正在尝试搜索文件。首先我执行POST并保存它,然后在另一个表单中,我进行搜索,如果输入与数据库中的输入相等,我会影响它,否则它什么都不做。

我得到了";找不到";当我在邮递员那里执行的时候。有人能帮我吗?我建议

const router = require("express").Router();
const Post = require ("../models/Post");
router.get("/" ,async (req,res ) => {
try {
const findPost = await Post.findOne(); 

if ( req.body.post === findPost) {
res.status(200).json(findPost);
} else {
res.status(401).json("not find")
}

} catch {
res.status(500).json("not correct");
}

这是后模式

const mongoose = require("mongoose")
const PostSchema = new mongoose.Schema({
post: {
type: String,
required: true,
}
}, {timestamps: true});
module.exports = mongoose.model("Post", PostSchema)
// A simple solution
const findPost = await Post.findOne({post:req.body.post}); 
if(findPost){
res.status(200).json(findPost);
} 
else{
res.status(401).json("not found");
}

2.如果你愿意过滤所有与regEx 匹配的帖子

// If you want to match pattern disregarding cashes
const regEx = new RegExp(req.body.post, "i");
const allPosts = await Post.find({post: regEx});
if(allPosts && allPosts.length){
res.status(200).json(allPosts);
}
else{
res.status(401).json("not found");
}

最新更新