Mongoose Model.find() 方法查询字符串不起作用
Mongoose Model.find() methods query string not working
我正在尝试简单休息 api。我在 mongodb 中有一个集合,我使用 mongoose pkg 将我的数据库连接到我的应用程序。我可以使用 Operator.find()
访问所有没有查询字符串的项目,但它不适用于查询字符串 ex: Operator.find({name:'Kapkan'})
it returns 所有这些。 Operator.findOne({name:'Azami'})
也不起作用。查询字符串 returns 无论如何都是集合的第一个元素。
app.get('/api/operators',async(req,res) => {
let operators;
try{
if(req.query.name){
Operator.find({name:'Kapkan'}).then((data) => {
console.log(data);
});
}
else
operators = await Operator.find();
res.send(operators)
}catch(er){
console.log(er);
}
})
您没有将带过滤器的查询结果分配给运算符。不确定你周围是否有 {}
,但尝试重构代码,如下所示:
app.get('/api/operators',async(req,res) => {
const filters = {};
if (req.query.name) {
filters.name = req.query.name;
}
const data = await Operator.find(filters);
console.log(data);
return res.json({ data });
})
我检查了我的架构,我发现我忘记了输入名称字段...
const OperatorSchema = new Schema({
_id:Number,
logo:String,
image:String,
unit:String,
*name:String,
side:String,
.
.
.
})
我正在尝试简单休息 api。我在 mongodb 中有一个集合,我使用 mongoose pkg 将我的数据库连接到我的应用程序。我可以使用 Operator.find()
访问所有没有查询字符串的项目,但它不适用于查询字符串 ex: Operator.find({name:'Kapkan'})
it returns 所有这些。 Operator.findOne({name:'Azami'})
也不起作用。查询字符串 returns 无论如何都是集合的第一个元素。
app.get('/api/operators',async(req,res) => {
let operators;
try{
if(req.query.name){
Operator.find({name:'Kapkan'}).then((data) => {
console.log(data);
});
}
else
operators = await Operator.find();
res.send(operators)
}catch(er){
console.log(er);
}
})
您没有将带过滤器的查询结果分配给运算符。不确定你周围是否有 {}
,但尝试重构代码,如下所示:
app.get('/api/operators',async(req,res) => {
const filters = {};
if (req.query.name) {
filters.name = req.query.name;
}
const data = await Operator.find(filters);
console.log(data);
return res.json({ data });
})
我检查了我的架构,我发现我忘记了输入名称字段...
const OperatorSchema = new Schema({
_id:Number,
logo:String,
image:String,
unit:String,
*name:String,
side:String,
.
.
.
})