1

SQL - 一致を使用して OrientDB (2.2.x) にクエリを実行すると、特定のクラスのすべてのドキュメントに一致する単純なクエリでは結果が返されませんが、「select」ステートメントを使用した一見同等のクエリは正常に機能します。

たとえば、次のクエリは 0 件の結果を返します。

match {class:ClassA} return $matches

ここで、このクエリは、予想される 100 件のレコードを返します。

select * from ClassA

私のデータベースには、「ClassA」タイプのレコードが 100 件あります。Schema Manager を見ると、ClassA が定義されており、100 個のレコードが関連付けられていることがわかります。また、マネージャーから「Query All」を選択すると、100 件すべてのレコードが正しく返されます。私は何が欠けていますか?

4

3 に答える 3

1

(return $matchesと同等return $patterns) は、エイリアスが定義されているパターン ノードの結果のみを返します。あなたの場合、それらのどれも持っていません。それを機能させるには、次のことができます

  • ノードにエイリアスを追加します。

    match {class:ClassA, as:a} return $matches 
    
  • または次のように置き換え$matchesます$paths(これもエイリアスなしでノードを返します):

    match {class:ClassA} return $paths 
    
于 2017-04-24T12:36:49.470 に答える