Hey ich versuche, eine einfache Suchfunktion für meine Web-App zu erstellen. gibt es Dokumentation, wie man es mit Echtzeitdatenbank erstellt.Erstellen einer Auto-Complete-Suche mit angularfire2 und firestore?
Welche Änderungen muss ich machen, um dies auf Firestore arbeiten zu lassen?
dieses Tutorial wurde von hier genommen https://angularfirebase.com/lessons/autocomplete-search-with-angular4-and-firebase/
hat es ein schönes Video als auch :)
dies ist, wie es zu machen mit Echtzeit-Datenbank:
#movies.service.ts
import { Injectable } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable } from '
angularfire2/database';
@Injectable()
export class MoviesService {
constructor(private db: AngularFireDatabase) { }
getMovies(start, end): FirebaseListObservable<any> {
return this.db.list('/movies', {
query: {
orderByChild: 'Title',
limitToFirst: 10,
startAt: start,
endAt: end
}
});
}
}
Der Automatische Vervollständigungssuchkomponente
<h1>Movie Search</h1>
<input type="text" (keydown)="search($event)" placeholder="search
movies..." class="input">
<div *ngFor="let movie of movies">
<h4>{{movie?.Title}}</h4>
<p>
{{movie?.Plot}}
</p>
</div>
<div *ngIf="movies?.length < 1">
<hr>
<p>
No results found :(
</p>
</div>
TS
import { Component, OnInit } from '@angular/core';
import { MoviesService } from '../movies.service';
import { Subject } from 'rxjs/Subject'
@Component({
selector: 'movie-search',
templateUrl: './movie-search.component.html',
styleUrls: ['./movie-search.component.scss']
})
export class MovieSearchComponent implements OnInit {
movies;
startAt = new Subject()
endAt = new Subject()
constructor(private moviesSvc: MoviesService) { }
ngOnInit() {
this.moviesSvc.getMovies(this.startAt, this.endAt)
.subscribe(movies => this.movies = movies)
}
search($event) {
let q = $event.target.value
this.startAt.next(q)
this.endAt.next(q+"\uf8ff")
}
}
haben Sie irgendwelche Vorschläge für mich finden? Ich kann die Echtzeit-DB nur für die Suche verwenden – KLTR
Apache Solr, aber das ist noch eine andere neue Technologie, mit der Sie sich vertraut machen. Wenn das Dataset klein ist, speichern Sie es andernfalls im Speicher, um eine schnellere Verarbeitung zu ermöglichen. – Lazhar