Я пытаюсь сделать простой .find (), используя mongoose / nodejs с mongoDB.У меня есть документ (с полем "дата": "09-20-2019") в моей коллекции (показать), но я не могу найти его программным способом.
Я пытался использовать компас MongoDB (программа просмотра БД)) выполнить поиск того, что я ищу.Я перешел в окно поиска под своей коллекцией {date: "09-20-2019"}, и мне удалось найти документ с помощью функции поиска, поэтому я знаю, что он должен работать.Я проверил, что поле «дата» попадает на сервер внутреннего узла как правильный формат и значение «09-20-2019».Я использую Node.js 10.15.1
--This is from my route.js file
router.get('/shows/:date', (req, res, next)=>{
//res.send('Retrieving the shows list');
console.log('back end date: ' + req.params.date);
Show.find({date: req.params.date}, function(err, result){
if (err)
{
res.json(err);
}
else {
console.log(result);
res.json(result);
}
})
});
--This is from my show.js (mongodb schema file)
const mongoose = require('mongoose');
const ShowSchema = mongoose.Schema({
name:{
type: String,
required: true
},
date:{
type: String,
required: true
},
venue:{
type: String,
required: true
},
createdDate:{
type: String,
required: true
}
});
const Show = module.exports = mongoose.model('Show', ShowSchema);
--This is from my service.ts file
getShow(date)
{
var headers = new Headers();
headers.append('Content-Type', 'application/json');
//date is in format MM/dd/yyyy (e.g. 09-20-2019)
return this.http.get<Show>('http://localhost:3000/api/shows/' + date);
}
--This is from my component
this.commentCardService.getShow(this._date).subscribe(data => {
console.log(data);
});
Я ожидаю, что операция .find ({}) вернется с одним документом из моего mongoDB шоус датой '09 -20-2019 ', которая является единственным документом, который находится в этой коллекции на данный момент.В конечном итоге в коллекции будет более одного документа.