MongoDB find()不过滤字符串



我目前正在尝试使用Mongoose从mongoDB数据库检索某些对象。由于某些原因,我不能按字段"提供者"进行筛选。这是我分配给对象的,但我可以通过日期来过滤;场。

const logs = await ActionLog.find({ date:{ $gt: initialDate, $lt: finishDate}});
if(logs.length == 0){
res.status(204);
res.json({message:"No matches for this search"});
}else
res.send(logs);

但这不是,它只是给我所有保存的元素:

const logs = await ActionLog.find({ provider:"example" } );

有些元素有"提供者"字段;有些没有,但都没有provider:"example">

[
{
"_id": "6374768bd302cd09838d4c67",
"module": "event approval",
"date": "2022-11-16T05:35:07.252Z",
"__v": 0
},
{
"_id": "637476aad302cd09838d4c69",
"module": "event update",
"date": "2022-11-16T05:35:38.798Z",
"__v": 0
},
{
"_id": "6374768bd302cd09838d4c11",
"module": "sale",
"provider": "prueba",
"date": "2022-11-20T05:35:07.252Z",
"__v": 0
}

)

问题是我的模型没有" provider ";。

Blockquote s "provider"在你的猫鼬模型上?我有一段时间没有使用mongoose了,但我想我记得,如果要查询一个字段,它必须在你的模型上。不过我可能记错了。- - - - - -你可以Mkantjwa

有一次我添加了"provider"到它工作的模型

最新更新