Wie ist es möglich, rohe Abfragen auszuführen und Ergebnisse über REST API mit strongloop anzuzeigen? Ich habe etwas über die Verwendung von hooks
und dataSource.connector.query()
gelesen, aber ich kann keine Arbeitsbeispiele finden.Abfrage auf MySQL Loopback Connector ausführen
Antwort
Hier ist ein einfaches Beispiel. Wenn Sie ein Produktmodell haben (/ common/Modelle /product.json), erweitern das Modell durch eine /common/models/product.js Datei hinzufügen:
module.exports = function(Product) {
Product.byCategory = function (category, cb) {
var ds = Product.dataSource;
var sql = "SELECT * FROM products WHERE category=?";
ds.connector.query(sql, category, function (err, products) {
if (err) console.error(err);
cb(err, products);
});
};
Product.remoteMethod(
'byCategory',
{
http: { verb: 'get' },
description: 'Get list of products by category',
accepts: { arg: 'category', type: 'string' },
returns: { arg: 'data', type: ['Product'], root: true }
}
);
};
Dies wird den folgenden Endpunkt Beispiel erstellen: GET/Produkte/byCatego ry? group = Computer
http://docs.strongloop.com/display/public/LB/Executing+native+SQL
- eine Remote-Methode in Ihren
/common/models/model.js
- führen Sie die SQL-Abfrage in dem Remote-Verfahren aussetzen (über
dataSource.connector.query(sql, cb);
Was ist, wenn Sie nur eine einzige Remote-Methode an einem neuen Modell wollen? In diesem Fall würde ich meinen Vorschlag verwenden, dass Sie alle standardmäßigen Remote-Methoden wie find, updateAll usw. mit [disableRemoteMethod] (https://docs.strongloop.com/display/public/LB/Exposing+models+over) deaktivieren müssten + REST # ExposingmodeloverREST-HidingmethodsandRESTendpoints) richtig? –
Ja, ich glaube das ist der einzige Weg ATM. Ich denke, das ist etwas, was wir für LoopBack 3 einfacher machen müssen, weil ich in der Vergangenheit mehrere Anfragen für eine Funktion gesehen habe, alle zu deaktivieren oder nur n Remote-Methoden usw. zu erlauben. Siehe https://github.com/strongloop/loopback/ Probleme/843 # issementcomment-112950822 – superkhau
- 1. Loopback Cloudant Connector Verbindung Pooling
- 2. wie Abfrage mit mysql C++ Connector einfügen
- 3. MySQL-Update-Abfrage auf 750k Zeilen ausführen
- 4. MySQL Python-Connector nicht commit
- 5. Loopback - Abfrage bezogenes Modell
- 6. MySql Jdbc Connector - Lokalisierungsproblem
- 7. Return Abfrage rethinkdbdash auf Loopback-Remote-Methode
- 8. MySql Connector EF6
- 9. Python MySQL Connector
- 10. Mit Loopback-connector-Remote benutzerdefinierter Methode in einem anderen Loopback-Service anrufen korrekte URL nicht erstellen
- 11. Ist MySQL Connector/Net abwärtskompatibel?
- 12. MySQL Connector C++ - ungültiger Zeiger
- 13. Abfrage auf Knopfdruck ausführen
- 14. MySQL Connector - entfernt polieren Zeichen
- 15. Got Fehler in MySQL Connector
- 16. So installieren Sie MySQL Connector
- 17. Ausführen von .bat von MySQL-Abfrage
- 18. MULE: MYSQL CONNECTOR INSERT ON DUPLICATE UPDATE
- 19. Warum bricht Mysql Connector ("Verbindung mit MySQL Server während Abfrage verloren" Fehler)
- 20. Konnte die mysql-Abfrage nicht korrekt ausführen
- 21. PHP mysql Suchfehler Konnte Abfrage nicht ausführen
- 22. MySQL-Connector C++ 1.1.3 enthält keine libmysql.lib
- 23. Node.js + Loopback: Remote-Hooks programmgesteuert ausführen
- 24. Spark Cassandra Connector - Bereich Abfrage auf Partition Schlüssel
- 25. Kann ich mehrere durch Semikolon getrennte Abfragen mit MySQL Connector/J ausführen?
- 26. Loopback PersistedModel() Fehler finden
- 27. Loopback-Anschluss für ElasticSearch
- 28. Wie installiere ich mysql-connector via pip
- 29. Installieren Mysql auf Mac OS X mit Python-Connector
- 30. Mounten rootfs auf Loopback
gibt es einige Tippfehler: 'Product.byGroup' sollte' Product.byCategory' sein und '" SELECT * FROM Produkte' sollte sein "" SELECT * FROM Produkte " –
können Sie ein Beispiel dafür, wie ein Modell in DB speichern? Ich meine, wie ein neues 'Produkt' zu erstellen und dann einfügen –
und .. eine andere Frage, was ist mit SQL Injection? –