2016-10-13 2 views
1

SQL-matchを使用してOrientDB(2.2.x)にクエリを実行すると、特定のクラスのすべてのドキュメントに一致する単純なクエリは結果を返しません。ステートメントはうまく動作します。 、「タイプの100件のレコードが私のデータベースでOrientDB match {class}は結果を返しません

select * from ClassA 

:私は期待

match {class:ClassA} return $matches 

は、このクエリが100件のレコードを返します。例えば

は、このクエリが0の結果を返します。 ClassA "と呼ばれる。私は、ClassAが定義され、100のレコードが関連付けられていることをSchema Managerで確認できます。また、マネージャから「すべて照会」を選択すると、100個のレコードがすべて正しく戻されます。私は何が欠けていますか?

+0

こんにちは、あなたはそれを解決済みとマークできますか?ありがとう –

答えて

0

あなたはこれを試しましたか?私はあなたが適切なデータを取得するために選択と一致を使用する必要があると思う、一致は基準にのみ一致しますが、我々はプロパティを必要とするとき、明示的に選択するためにそれらを追加する必要があります。

このクエリは、私のメンバークラスで役に立ちました。

 select member.firstName, member.lastName, member.email from (MATCH {class: Member, as:member} return member); 

私はOrientDBに2日居ましたので、ここでより良い回答者ができます。

0

あなたは、あなたがこれを行うことができます選択したい各プロパティを記述したくない場合は、次の

SELECT expand(classa) FROM (match {class:ClassA, as:classa} return classa) 
0

return $matchesreturn $patternsに相当)が定義された別名を持つパターンノードの結果のみを返します。あなたのケースではどれも1つもありません。

match {class:ClassA, as:a} return $matches 
  • または$paths$matchesを置き換える(別名せずにノードを返すこと):

    match {class:ClassA} return $paths 
    
  • それを動作させるために、あなたは

    • ノードへのエイリアスを追加することができます

    関連する問題