問題タブ [dgraph]
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.
graphql - データを dgraph/standalone:graphql コンテナに一括ロードする方法は?
https://graphql.dgraph.io/docs/quick-start/のクイックスタートのようなデータベースがあると仮定します
すなわち
今、何百万ものエントリをインポートしたいので、一括ローダーを使用したいと考えています。.json
私のデータセットは、ファイルでいっぱいのバグ フォルダーです。
私が見たものには、次のようなコマンドを実行できるはずです
dgraph bulk -f folderOfJsonFiles -s goldendata.schema --map_shards=4 --reduce_shards=2 --http localhost:8000 --zero=localhost:5080
しかし、サーバーを実行するために、実行されたdgraph/standalone:graphql
イメージを使用していますdocker run -v $(pwd):/dgraph -p 9000:9000 -it dgraph/standalone:graphql
一括インポートを開始するにはどうすればよいですか?
1:
docker コンテナー内でコマンドを実行する (およびすべてのファイルを含むボリューム (フォルダー) を共有する.json
) か、ホストに dgraph をインストールしてホストdgraph bulk
からコマンドを実行する必要がありますか?
2:.json
ファイルの形式は何ですか?
3:バルク ローダーは空白のノード (ID ではないもの_:0x1234
) をサポートしますか?
[編集]
- バルク ローダーは、graphql スキーマをサポートしていないようです。最初にスキーマを rdf に変換する必要があります。これを実現するために、graphql スキーマをインポートした直後にスキーマとデータをエクスポートしました
curl 'localhost:8080/admin/export?format=json'
dgraph - Dgraph: 特定の文字列で始まる文字列をどのようにクエリしますか?
たとえば、データベースに多数のオブジェクトが含まれていてPeople{ name }
、名前が「H」または「Mi」で始まるすべてのオブジェクトを検索するとします。
go - JSON 応答の特定の配列値を配列の最初の値だけに変換するにはどうすればよいですか?
(注、この問題にはDgraphは必要ありません。問題が発生している場所で使用しているツールです)
いくつかの構造体があるとしましょう
ユーザーを作成してDgraphデータベースに追加します
次に、Dgraphデータベースに次のようにクエリを実行します(ユーザーノードのuidがあると仮定します)
応答は次のように返されます
したがって、問題は、Dgraph の JSON 応答が構造体型のフィールドを配列として返すことです (おそらく、単一の他のノードを指す複数のノードが存在する可能性があるため)。ただし、配列であるため、すぐにマーシャリングすることはできませんUser
構造体 (はではなくUser.Settings
型であるため)。Settings
[]Settings
User
構造体 (またはその他の種類の構造体) を使用して Dgraph JSON 応答をマーシャリングするにはどうしますか?
settings
JSON 応答の配列は、その配列の最初の要素であるtags
必要がありますが、構造体で指定されているため、配列は配列のままである必要があることに注意することが重要User
です。