問題タブ [jcr-sql2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - JCR-SQL2 クエリ サブノード
日付を含むノードのリスト内の Date が基準に一致する JCR のエントリを見つける必要があります。データ構造は
- Event1
-- Dates
--- 0
---- startDate: xyz
---- endDate: xyz
--- 1
---- startDate: xyz
---- endDate: xyz
- Event1
-- Dates
--- 0
---- startDate: xyz
---- endDate: xyz
--- 1
---- startDate: xyz
---- endDate: xyz
したがって、すべてのノードを反復する必要があり、呼び出されたサブノードを選択してDATE
反復し、タイムスタンプ プロパティを確認する必要があります。タイムスタンプが基準と一致する場合は、ノード全体を返します。
失敗した試みは次のとおりです。
select p.date from [mgnl:contact] as p where p.[startDate] > CAST('2010-01-01T00:00:00.000+02:00' as date)
2010 年 1 月 1 日以降にすべてのエントリを取得したいと思っていました。
jcr からすべてを取得し、Java でこのフィルタリングを行うだけで、これを行うことができます。JCR-SQL2 では、どこから始めればよいかさえわかりません。
security - ACL に制限を追加すると、Jackrabbit Oak でクエリの結果が空になります
SecurityProvider
Jackrabbit Oak を使用して、およびsを使用してセキュリティを構成しようとしましたSecurityConfiguration
。特に、通常は期待どおりに機能する制限を使用しています。ただし、JCR-SQL2
クエリを処理する場合、予想よりも多くのものが除外されます。
詳細
以下のリポジトリで再現できます。
に、 の子にアクセスできないように、->の制限とともに特権を持つアクセス制御エントリnode
を追加します。JCR_ALL
user
rep:glob
""
user
node
を使用すると、期待どおりに機能しsession.getNode
ます。
session.getNode("/node")
ノードを返しますsession.getNode("/node/subnode")
PathNotFoundException
制限により、期待どおりにスローされます。
ただし、次のJCR-SQL2
クエリを実行すると:
結果が返されません。/node
ここでは、 を使用するときに利用できるので、を取得することを期待していましたsession.getNode
。
コード
restrictions
上記のコードから1 つを削除すると、予想どおりクエリ結果にnode
との両方が表示されます。subnode
MySecurityProvider
私が自分で実装したものを除いて、すべての s の使用ConfigurationParameters.EMPTY
とデフォルトの実装:SecurityConfiguration
AuthenticationConfiguration
Jackrabbit Oak バージョン 1.10.0 を使用しています
aem - アセットからタグにアクセスするための SQL2 クエリ
全文検索のために親ノードの子ノードにアクセスするための SQL2 クエリを知りたいです。
という名前のアセットに保存された画像がありmen-watches.png
ます。という名前のタグを作成し、watches
このタグを上記のアセットに割り当てました。
他の画像でも同じことをしました。このアセットを検索したいので、SQL2 全文検索クエリについて教えてください。
私は試した
しかし、タグ「watches」を使用して SQL2 で全文検索クエリを作成しIN clause
、タグをチェックするだけでなく、タイトルや説明もチェックするためにそれを書くように求められます。
xpath - ノード名にワイルドカードを含むクエリビルダー API を使用して AEM 検索を実装する
AEM Forms ポータル データを取得するために、ノード名の部分/ワイルド カードに基づいて検索結果を取得する必要があります。
たとえば、任意の user-email の下に複数の下書き Id ノードがある場合 (/conten/forms/fp の下に作成された一意のノード)。各ドラフト アプリケーション ノードは、conten/forms/fp/ .com|.net /metadata/draftIdの下に配置されます。
注: ユーザー ノードの末尾には .com または .net が付きます。参考までに画像も添付します。ユーザーは複数のドラフト アプリケーションを持っているため、結果として testsonar@mailiantor.com/testsonar%40@mailinator.com を取得する必要があります。
私の要件は、複数の下書きを持っているユーザーを見つけることです。Query builder API を使用してこれが可能になることを誰でも示唆できますか? 以下の述語を試しましたが、ワイルドカードがパスでサポートされていないことに気付きました。