Ich konstruiere Elasticsearch-Abfragen und möchte Objektvorlagen für den Aufbau des POST-Rumpfs der Abfragen verwenden, bevor ich an meinen Datendienst sende.wie man ein const-Objekt als Vorlage verwendet
Die Abfrage baut großartig das erste Mal jedoch, wie ich die Vorlagen verwende, die tatsächlichen const Objekte, die ich deklariert habe, werden geändert, und die Vorlage ist danach gebrochen. Im folgenden Code wird nicht nur der retunQuery-Wert geändert, sondern der Wert von INIT_QUERY const wird ebenfalls geändert. Wie kann ich dieses const-Objekt als Vorlage verwenden, ohne seinen Wert zu ändern?
const INIT_QUERY = {
"query": {
"filtered": {
"filter": {
"bool": {
"must": <any>[]
}
}
}
}
}
const MATCH_QUERY = {
"match": <any>{}
}
...
export class QueryBuilder {
constructor() {}
buildQuery() {
let returnQuery = INIT_QUERY;
.... loop
let query = MATCH_QUERY;
query.match[dbfield].query = 'fieldValueToSearch';
returnQuery.query.filtered.filter.bool.must.push(query);
.... end loop
return returnQuery;
}
}
Können Sie näher erläutern, wie die Schnittstelle in diesem Fall aussehen würde? – user1873196
Sicher, ich habe meine Antwort bearbeitet. Es ist nur die Struktur deines Objekts. – j2L4e
Danke! Das hat super funktioniert. – user1873196