2015-05-15 19 views
7

Ich bin eine Abfrage auf einer Postgres-Datenbank über die Loopback-api-Explorer versucht:Loopback neq: null

{"where": {"archived_at":{ "neq": null }}} 

Allerdings habe ich nur die Ergebnisse bekommen, wo archived_at null ist?

+1

Ich bin nicht sicher, ob für NULLs Überprüfung durchgeführt wird, hat es einige Diskussionen über diesen (isSet Operator gewesen). Wenn dies intern in 'archived_at = NULL' übersetzt wird, wird es nicht funktionieren, da NULL nicht gleich NULL ist. –

+1

Dies beantwortet die Frage nicht, aber es könnte helfen. Ich benutze mongodb, und ich bekomme die gleichen Ergebnisse von der Abfrage in Ihrer Frage, dh es enthält Datensätze, bei denen das Feld 'null' ist, aber keine Datensätze, bei denen das Feld nicht 'null' ist (was das Gegenteil von dem ist Abfrage sieht so aus, als sollte es geben). Ich bekomme auch dasselbe, wenn ich '{" where ": {" archived_at ": {}}}' verwende. Aber '{" wo ": {" archived_at ": {" neq ": {}}}}' gibt mir alles ungefiltert. Ich würde gerne die Antwort darauf wissen, sicherlich ist es ein häufiger Anwendungsfall, alle Datensätze mit einem Nicht-Null-Wert in einem bestimmten Feld zu bekommen. – leftclickben

Antwort

8

Die folgende Abfrage für mich gearbeitet ...

{ "include": [ "currency" ], "where": { "currencyCode": { "neq": null } } } 

Ich beantrage Tabellen, die eine currency hatte ...

(Sorry für die schlechte Qualität meiner Antwort, ich wollte nur teilen , selbst ich hatte keine direkte Antwort auf die Frage der OG, und ich habe nicht genug Requisiten zu kommentieren)

+0

Ich habe das gleiche Problem. Ich vermisse ("") in neq. Wie in der Dokumentation verwenden sie nicht ("") für andere Betreiber. –

0

Es hängt von der Datenbank ab. Basis für postgresql in Loopback 3. Für Suche Integer/Zahl null oder nicht Nullwert. Ich denke, es hängt von der Datenbank und Loopback-Version.

  1. Sie können versuchen, like nlike Abfrage in Loopback (aber wie ist die Verwendung db abhängig) https://loopback.io/doc/en/lb3/Where-filter.html#ilike-and-nilike

  2. Quering nicht null Wert Explorer: { "where": { "principalId": { "NEM": ""}}} oder in Server {where: { "principalId": {neq: ""}}}

  3. versucht direkte Abfrage in der Datenbank. Loopback erlaubt das.

    "eckig": "^ 1.6.3" "Angular-Nachrichten": "^ 1.6.3" "Angular-ui-Validate": "^ 1.2.2" "Async": "^ 2.1.5", "Bower": "^ 1.8.0", "Kompression": "^ 1.6.2", "cors": "^ 2.8.1", "Helm": "^ 3.5.0"

"Loopback": "^ 3.7.0"

"loopback-boot": "^2.23.0", 
"loopback-component-explorer": "^4.2.0", 
" 

Loopback-Komponenten-Speicher ": "^ 3.2.0",

"loopback-connector-mongodb": "^3.0.1", 
"loopback-connector-mysql": "^3.0.0", 
"loopback-connector-postgresql": "^2.8.0", 
"loopback-console": "^1.1.0", 
"loopback-datasource-juggler": "^3.5.0", 
"loopback-sdk-angular-cli": "^3.0.0", 
"milligram": "^1.3.0", 
"serve-favicon": "^2.4.2", 
"strong-error-handler": "^2.0.0"