私はこのデータセットを使用してケースを試してみました:

そして、これは私のクラスTestClass
の構造である:

あなたが唯一の私の構造から見ることができるようにname
,surname
とtimeStamp
はschema-less
モードでDBに挿入された代わりnameSchemaLess1
とnameSchemaLess1
、schema-full
モードで作成されました。 (hereが説明したように)あなたがOrientDB StudioまたはコンソールでのJavascript機能を作成することができ、その後、あなたがSQL
コマンドを使用してpyOrient
からそれを思い出すことができることを行わした後
。
次投稿機能が重複することなく、クラスTestClass
のすべてのフィールド名を取得します。
のJavascript機能:
var g = orient.getGraph();
var fieldsList = [];
var query = g.command("sql", "SELECT FROM TestClass");
for (var x = 0; x < query.length; x++){
var fields = query[x].getRecord().fieldNames();
for (var y = 0; y < fields.length; y++) {
if (fieldsList == false){
fieldsList.push(fields[y]);
} else {
var fieldFound = false;
for (var z = 0; z < fieldsList.length; z++){
if (fields[y] == fieldsList[z]){
fieldFound = true;
break;
}
}
if (fieldFound != true){
fieldsList.push(fields[y]);
}
}
}
}
return fieldsList;
pyOrientコード:
import pyorient
db_name = 'TestDatabaseName'
print("Connecting to the server...")
client = pyorient.OrientDB("localhost", 2424)
session_id = client.connect("root", "root")
print("OK - sessionID: ", session_id, "\n")
if client.db_exists(db_name, pyorient.STORAGE_TYPE_PLOCAL):
client.db_open(db_name, "root", "root")
functionCall = client.command("SELECT myFunction() UNWIND myFunction")
for idx, val in enumerate(functionCall):
print("Field name: " + val.myFunction)
client.db_close()
出力:あなたはフィールド名をすべて、スキーマ・フルとスキーマレスの両方を見ることができるように
Connecting to the server...
OK - sessionID: 54
Field name: name
Field name: surname
Field name: timeStamp
Field name: out_testClassEdge
Field name: nameSchemaLess1
Field name: in_testClassEdge
Field name: nameSchemaLess2
、取り出されました。
希望します。
こんにちは@kingledion、あなたはクラスのすべてのフィールドの名前のリストを取得したいですか?それともその価値ですか? – LucaS
名前のリストは、 – kingledion