問題タブ [dynamic-schema]

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.

0 投票する
3 に答える
456 参照

.net - SubSonic 動的スキーマ: SelectList

シナリオ

私は最新のプロジェクトに SubSonic を使用しています。まず最初に。このプロジェクトは .net 3.0 の使用に制限されており、SubSonic は素晴らしいものでした。大好きです。

ただし、カスタマイズには問題があります。顧客は、2 つの SQL Server 2005 データベースを使用するように要求してきました。そのうちの 1 つは他のデータベースをレプリケートし、一部の列は除外します。

一見、これは簡単なことのように思えます。ただし、SubSonic はデフォルトですべての列を取得するため、SQLException が発生します。テーブルごとに選択リストをエレガントに制限したいと思います。

たとえば、次のコードでうまくいきますが、クエリを新しく作成するたびにそうする必要はありません。

質問

上記のメソッドはコードをFetchByX肥大化させ、SubSonic によって生成された組み込みメソッドでは機能しません。テーブルごとにデフォルトの SelectListをエレガントに設定する方法はありますか?

ノート

部分クラスで実行時にスキーマから列を削除しようとしましたが、列がコレクションColNameColumn内の特定のインデックスを探しているように見えるColumnsため、計画は失敗しました。

分かってる

「あなたはばかだ、なぜあなたはこれをするのですか?」答えます。より良い方法がある可能性が高いことは理解しており、これは少しハッキーに思えますが、これが私が目指しているポイントです。嫌がらせではない解決策が必要です。

0 投票する
3 に答える
1258 参照

objective-c - Core Dataで動的スキーマを偽造しますか?

CoreDataに関するAppleDocsを読んだことから、動的スキーマが必要な場合はCoreDataを使用すべきではないことがわかりました。ユーザーに独自のプロパティを作成する機能を提供したい場合、コアデータモデルでは、「カスタム10進数1」、「カスタム10進数2」、「カスタムテキスト1」などの「ダミー」属性を作成すると機能します。ユーザーが自分の目的のために名前を付けて使用できる「カスタムテキスト2」など?

明らかに、これはリレーションシップでは機能しませんが、単純なプロパティの場合は、合理的な回避策のようです。ほとんどのユーザーが使用しないエンティティに多数のダミー属性を作成すると、パフォーマンスが著しく低下しますか?このようなことを試した人はいますか?ありがとう!

0 投票する
3 に答える
792 参照

c# - Azure: IDictionary の保存方法テーブルストレージで?

IDictionary を持つクラスがあります。このオブジェクトのサイズは、特定のサイズに固定されていません。これのアイデアは、私のオブジェクトの動的スキーマを持つことです。このオブジェクトを TableStorage に格納したいと考えています。これどうやってするの?そして、IDictionaryを使用してオブジェクト内でこの情報をストアから取得するにはどうすればよいですか??

ありがとう!!

0 投票する
2 に答える
78 参照

asp.net-mvc-2 - Azure: TableStorage を使用した柔軟なスキーマ

各テナントがいくつかの特別なフィールドをクラスに定義できる asp.net MVC 2 c# webapp を作成する必要があります。たとえば、同じアプリで一部のユーザーには「年齢」フィールドがあり、他のユーザーには別のフィールドがあり、必ずしも「年齢」とは限りません。これを行う最良の方法はどれですか?この例を含むブログ/チュートリアル/本はありますか?

ありがとう!

0 投票する
1 に答える
847 参照

objective-c - コア データ動的エンティティ

別のエンティティで定義される属性に基づいて動的エンティティを作成できるようにしたいと考えています。例えば:

エンティティ:生命体属性->名前:文字列

Entity:LifeformCharacteristics Attribute->name:String Attribute->type:String

エンティティ:DynamicCatalog

したがって、特性エンティティは、ユーザーが追加したものによって入力されるエンティティになります。特性の例は、name:Height type:Number です。したがって、これらの特性によって、私が望むダイナミック カタログが定義されます。そのため、属性 Height を使用して DynamicCatalog を作成する必要があります。

ユーザーがカタログに項目を追加および削除できるように、DynamicCatalogs もテーブルに表示される必要があります。

DataModel を介して最初の 2 つのエンティティを構築および管理できますが、3 つ目は動的であり、どうすればよいかわかりません。コア データを使用して、データ管理の頭痛の種を最小限に抑えたいと考えていました。

この投稿は私が見つけた回答に最も近いものですが、次のようなコレクションを表示または再編成するかどうかはわかりません: Faking a dynamic schema in Core Data?

0 投票する
1 に答える
318 参照

mongodb - スキーマ フリー データベースからリレーショナル データベースにデータを移行する: MongoDB から Snowflake へ

これを書くきっかけとなったユースケースがあり、多くの人がこの状況に直面したと確信しています。状況は、単一の Talend ジョブを介して MongoDB から Snowflake データベースに複数のコレクションを移行し、コレクションの最上位ノードを Snowflake テーブルの個々のフィールドとして保持することでした。

MongoDBコレクションはスキーマを強制しないため、TalendはMongoDBソースの動的スキーマをサポートしていないことがわかっています。これは、取り込みたい既存/新しいコレクションごとに個別のジョブ/サブジョブを作成する必要があることを意味しますドキュメントの将来の変更に備えてジョブを再設計する必要がありますが、常に機能することを保証する必要があるため、代替ソリューションを検討する必要があります。

これがアプローチです、

ステップ 1: MongoDB コレクションからすべての最上位キーとそのタイプを取得します。$objectToArrrrayで集約を使用して、すべてのトップ キーと値のペアをドキュメント配列に変換し、続いて$addToSetで$unwind$groupを使用して、コレクション全体で個別のキーと値の型を取得しました。

}

ステップ 2 : Mongo データ型と Snowflake データ型の間の 1 対 1 のマップを作成します。この情報を格納するために、「 dataTypes 」と呼ばれるハッシュ マップを作成しました。または、この情報をテーブルやファイルなどに保存することもできます。

ステップ 3: キーを Snowflake と比較します。まず、テーブルが存在するかどうかスノーフレークINFORMATION_SCHEMAにクエリを実行します。存在しない場合はテーブルを作成し、存在する場合はドキュメント内のフィールドの変更を確認し、追加または変更します。スノーフレーク テーブルのそれらの列。DDL スクリプトは、ステップ 2 で「データ型マッピング」を使用し、ステップ 1 でキーを反復することによって生成されます。

ステップ 4 : mongoexportコマンドを使用して、MongoDB からローカル ファイルシステムにデータをアンロードします。

これは、ステップ 1 のキーから準備されます。

ステップ 5: Snowsqlを使用してPUTコマンドを使用して、.csv ファイルをローカル ファイルシステムからスノーフレークのステージング場所にステージングします。

ステップ 6: ステージング場所からスノーフレーク テーブルにデータをロードする

ここでは file_format と pattern の指定はオプションです。1 つのスノーフレーク ステージでコレクションごとに複数のファイルをステージングするため、正規表現を使用しました。

ステップ 7 : コレクションのリストを維持します。リストは、ローカル ファイルシステムまたはデータベース テーブル内のファイルに配置できます。Talend ジョブでは、コレクションのリストを反復処理し、コレクション名、テーブル名をパラメータ化することにより、上記の手順で各コレクションを処理します。 、ジョブ内のファイル名、ステージング名など。

0 投票する
2 に答える
104 参照

javascript - 値に応じて、マングーススキーマを動的にする方法は?

私はマングースが初めてで、それについてたくさん検索しましたが、答えを見つけることができませんでした。助けてください、事前に感謝します。

isVoterの値に依存するスキーマを使用できますか。たとえば、isVoterの値がfalseの場合、スキーマは次のようになります。