Hellow там.спасибо за нажатие на этот пост.Я хотел бы знать, как я могу получить / запросить данные из mongodb на основе поля ввода.Например, если бы я должен был ввести «США» в поле ввода с именем «местоположение», он получит только те данные, которые содержат США, и эти данные будут отображены на следующей странице.Как мне заставить это работать, когда я нажимаю на кнопку.я свяжу некоторые скриншоты моего веб-сайта и кода (у меня такое ощущение, что мой код совершенно неверный.)
ошибка, с которой я сталкиваюсь после вставки вашего кода и кода для передачи данных
это мой home.component.html line40.это передать данные на следующую страницу
домашняя страница, где я буду вставлять страну в поле ввода страны, после того, как я нажму «найти», она получит данные из монгов стране, в которую я вставил.
это страница, на которой будут отображаться данные
вот некоторые коды, с которыми я пытался возиться (еще не проверилесли работает)
//this is in my api.js file
//get data from "listing"(which is my db collection) based on "inputcountry( the inputfield)"
router.get('/home', function(req, res) {
db.collection('listing').find({"inputCountry": req.body.inputCountry}).toArray( (err, results) => {
console.log('got search')
res.send(results)});
});
//this is in my service .ts file (named getservice)
//this is for the searching of house based on location
searchHouse() {
return this.http.get<any[]>('./api/home');
}
//this is in my home. component.ts file (where the searching will happen)
constructor(private fb: FormBuilder, private router: Router, private getService: GetService) {
// Retrieve posts from the API
this.getService.searchHouse().subscribe(searchedhouses => {
this.searchedhouses = searchedhouses;
});
}
<!--this is in my home.component.html where there is the input field named "inputcountry" and submit button -->
<form [formGroup] = "myForm" (ngSubmit) = "searchHouse (myForm)">
<div class="form-group">
<label for="inputCountry">Enter Country</label>
<input type="text" class="form-control" formControlName="inputCountry" id="inputCountry" name = "inputCountry" placeholder="Location e.g Singapore .">
</div>
<button class="btn btn-lg btn-primary btn-block text-uppercase" routerLink="/houses" type="submit" >Find</button>
</form>