node.js - 我想在查询中搜索包含搜索词的所有词
问题描述
这是我的获取请求,我想搜索包含搜索查询中提供的单词的所有单词,但我得到一个空数组。我想根据搜索查询得到结果。结果应该是包含搜索查询的所有单词
app.get("/users", async (req, res) => {
const page = parseInt(req.query.page);
const limit = parseInt(req.query.limit);
startIndex = (page - 1) * limit;
endIndex = page * limit;
let search = req.query.search;
let newUsers;
if (search) {
console.log(search);
newUsers = await User.find({ $text: { $search: search } });
.limit(limit)
.skip(startIndex)
.sort({ name: 1 })
.exec();
} else {
newUsers = await User.find()
.limit(limit)
.skip(startIndex)
.sort({ name: 1 })
.exec();
}
res.json(newUsers);
});
我的用户架构
const mongoose = require("mongoose");
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true,
},
});
userSchema.index({ name: "text" });
const User = mongoose.model("User", userSchema);
module.exports = User;
解决方案
推荐阅读
- vue.js - 在 Vue 组件中定义用户定义的 getter
- c - 插入排序的问题区域
- python - wxpython flexgridSizer 按钮右下角
- python - 在 XML rebot 解析期间设置链接
- java - 在继承的情况下,ArrayList 和 Arrays.asList 对 Collection 的工作方式不同
- asp.net - TLS 1.2 升级
- javascript - getElementsByClassName 上的 Javascript onclick 事件
- julia - 如何轻松绘制背景垂直带?
- java - 使用 iText 的文本和条形码之间的差距
- node.js - Nodejs)发布请求的正文似乎很奇怪