Was ist der beste Weg, um Speicher-Arrays mit strings als Knoten-Eigenschaft in Neo4j
Habe ich eine Anforderung, die in der Eigenschaft key kann mehrere Werte enthalten.
Wie Speichere ich Sie als Eigentum in Neo4j?
Ex:
Person-node hat Eigenschaften wie: 'name', 'Alter' und 'Interessen'
Die 'Interessen' - Eigenschaft kann können enthalten mehr als eine strings(array von strings).
Was ist der beste Ansatz zum speichern von 'Interessen'?
Ich denke, ich will nicht zu erschweren, diese durch hinzufügen von weiteren Knoten. Statt ich will, dass alle Eigenschaften in der gleichen Person-Knoten.
Auch, es wird gut sein, wenn ich Suche kann ein Person-node durch einen Artikel in der 'Interessen' - Eigenschaft.
Speichern als eine Zeichenfolge, getrennt durch einige Besondere chars?
Speichern als array von strings für eine Eigenschaft? wenn ja, wie mache ich das?
Dank
- Hast du überlegt, das Handbuch zu Lesen? Hier ist der Abschnitt auf cypher Sammlungen - neo4j.com/docs/stable/syntax-collections.html
- Danke, sieht aus wie ich kann json encode Liste von Werten und speichern als ein Wert einer Immobilie. Ist es möglich die Suche(oder match), indem man den Wert in der Eigenschaft?
- Man könnte sicherlich speichern von json als ein string, aber dann sind Sie wirklich nicht in der Lage zu nutzen, die Datenbank bei der Suche. Wie @Brian sagt, wenn Sie gehen, um die Suche auf die 'Interessen' sind Sie wahrscheinlich am besten gedient, indem Sie erste-Klasse-Bürger in Ihrem Modell.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie speichern ein array mit strings als eine Eigenschaft und das ist, was ich vielleicht vorschlagen, wenn Sie wollen einfach nur sehen, eine Liste von Interessen, die beim arbeiten mit einem bestimmten
Person
Knoten:http://neo4j.com/docs/stable/rest-api-property-values.html#_arrays
Wenn Sie wollen, schauen die Menschen nach Interessen, allerdings würde ich empfehlen darüber nachzudenken speichert Sie als Knoten. Mit der
MERGE
cypher-Befehl es kann Recht einfach sein, Sie zu verwalten, und es sollte mehr performant.