2016-04-25 6 views
0

Ich habe versucht, die Beispiele in der Github Readme von pyorient zu folgen. Ich habe versucht, ein binäres Feld mit client.record_create einzufügen und dasselbe unter Verwendung client.record_load zu laden.Wie binäre Daten in orientdb mit pyorient speichern und abrufen?

>>> client.db_create('animals', pyorient.DB_TYPE_DOCUMENT, pyorient.STORAGE_TYPE_MEMORY) 
>>> cluster_id = client.command("create class animal") 
>>> rec = { '@animal': { 'accommodation': 'house1', 'work': 'office1', 'holiday': b'\xb8P\xa7\x00l|\xa7\x13\x8d\xc8\x80_M\xa0\x11V\xe3 ,G\x1d\xad \x08\xf5rZ\xafc\x16\x1c(' } } 
>>> rec_position = client.record_create(cluster_id[0], rec) 
>>> loaded = client.record_load(rec_position._rid) 
>>> loaded.oRecordData 
{'holiday': None, 'work': 'office1', 'accommodation': 'house1'} 

Wie Sie sehen können, ist der Wert des abgerufenen Binärfeldes None. Unterstützt pyorient das Einfügen roher Bytes? Wenn nicht, gibt es einen Workaround?

+0

die ODB-Version verwenden Sie? –

+0

Ich verwende OrientDb Community Edition v.2.1.15 –

Antwort

0

nicht sicher, ob das Ergebnis korrekt ist, aber Sie können versuchen, das Hinzufügen der „“

>>> rec = { '@animal': { 'accommodation': 'house1', 'work': 'office1', 'holiday': "b'\xb8P\xa7\x00l|\xa7\x13\x8d\xc8\x80_M\xa0\x11V\xe3 ,G\x1d\xad \x08\xf5rZ\xafc\x16\x1c('" } } 
+0

Der obige Befehl hat keine zurückgegeben, aber die gespeicherten binären Daten scheinen in diesem Prozess geändert worden zu sein. Ich habe die gleiche Reihe von Befehlen wie in der Frage ausgeführt und diese Ausgabe erhalten. '>>> loaded.oRecordData { 'Urlaub':„b'¸P§ \ x00l | § \ x13 \ x8dÈ \ x80_M \ xa0 \ x11Vã, G \ x1d \ xad \ x08õrZ¯c \ x16 \ X1c ('', 'Arbeit': 'Büro1', 'Unterkunft': 'Haus1'} –

Verwandte Themen