Я пишу метод node js, который хочу найти vlaues, которые соответствуют переданному параметру imei.name
, а тестовое поле пусто.
Это метод, который я пытался использовать :
router.get('/gettdata/', (req, res, next) => {
let aa=req.query.imei;
console.log(aa);
Post.findOne( {imei:{"imei.name":req.body},
test:{$exists:false}
}
)
.then((posts) => {
res.json(posts);
console.log(posts);
})
.catch(err => console.log(err))
});
он возвращает пустое поле, несмотря на то, что оно существует, когда я использую только
Post.findOne( {"imei.name":req.body})
, он работает, а когда я использую только
Post.findOne(
test:{$exists:false}
)
, он работает, но проблема в том, чтобы использовать их два за один раз
{
"_id" : ObjectId("5eb7f90fb88d8d4d94184333"),
"imei" : {
"name" : "bokhhjbr",
"modele" : "5486"
},
"__v" : 0
}
{
"_id" : ObjectId("5eb7fb9cb88d8d4d94184334"),
"imei" : {
"name" : "865566048694354",
"modele" : "CPH1803"
},
"__v" : 0
}
{
"_id" : ObjectId("5eba73395fd8dd073065efdf"),
"imei" : {
"name" : "bok55555555555hjbr",
"modele" : "5486"
},
"createdAt" : ISODate("2020-05-12T09:58:17.203Z"),
"updatedAt" : ISODate("2020-05-12T09:58:17.203Z"),
"__v" : 0
}
{
"_id" : ObjectId("5ed0f93c0c93ec1c785358ab"),
"imei" : {
"name" : "865566048694354"
},
"test" : {
"tactileState" : "1",
"pixelState" : "1",
"greyState" : "1"
},
"createdAt" : ISODate("2020-05-29T11:59:56.441Z"),
"updatedAt" : ISODate("2020-05-29T11:59:56.441Z"),
"__v" : 0
}
{
"_id" : ObjectId("5ed0f9420c93ec1c785358ac"),
"imei" : {
"name" : "865566048694354"
},
"test" : {
"tactileState" : "1",
"pixelState" : "1",
"greyState" : "1"
},
"createdAt" : ISODate("2020-05-29T12:00:02.040Z"),
"updatedAt" : ISODate("2020-05-29T12:00:02.040Z"),
"__v" : 0
}
, и это моя база данных, показанная в cmd.
Мне нужна помощь - спасибо