我正在对我的api进行HTTP调用,以从mongodb中检索文档,并且在url中,我有两个参数: campo 和 keyphrase 。 我想查找将参数 campo 设置为我的关键字短语的所有文档。 例如:我的mongo中有一些类似的文档:
classe: "4AT"
cognome: "XYZ"
email: "xyz.zyx@gmail.com"
idreg: "IUDQFEXFFR4DW133"
nome: "Francesco"
turni: ["g2t1", "g1t2", "g3t2"]
__v: 0
_id: "5c508d0b4810fc0ece8df2a9"
我将GET调用为“ localhost:3000 / nome / Francesco”,我想在“ nome”字段中选择所有值为“ Francesco”的文档。 但是问题是方法.find()接受如下参数:
.find({nome: keyphrase})
,而不是像我想要的动态标题。有机会这样做吗?
PS:我的Express代码用于获取请求,如果有帮助的话:
app.get("/api/ragazzi/:campo/:keyphrase",(req, res, next) => {
let campo = req.params.campo.toLowerCase();
let keyphrase = req.params.keyphrase;
Ragazzo.find({campo : keyphrase})
.then(documents =>{
res.status(200).json({
codice: "ok",
risultato: documents
});
})
.catch((err)=>{console.log(err);});
});
答案 0 :(得分:0)
尝试
dispatch
答案 1 :(得分:0)
如果要基于campo值和关键字短语进行查询,请事先创建一个对象并将其用作查询
app.get("/api/ragazzi/:campo/:keyphrase",(req, res, next) => {
let campo = req.params.campo.toLowerCase();
let keyphrase = req.params.keyphrase;
let query = {};
query[campo] = keyphrase
Ragazzo.find(query)
.then(documents =>{
res.status(200).json({
codice: "ok",
risultato: documents
});
})
.catch((err)=>{console.log(err);});
});