問題タブ [schemaless]

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 投票する
1 に答える
101 参照

c# - 部分的にスキーマレスのドキュメントはスキーマレスの値を上書きします

私はC#で次のようなクラスを持っています:

これをmongoに保存すると、正常に機能します。ここで、このドキュメントにいくつかのサブドキュメントを追加したいと思います。サブドキュメントのクラスは次のようになります。

次のように、Pushコマンドを使用してこれらの詳細をルートドキュメントに追加します。

これは今のところうまく機能しており、MyEntryすべてを添付せずに読む可能性があり、Detailsすべて/最初/最後/Details好きな方を読むことができます。しかし、今の私の問題は、で何かを変更してMyEntry保存すると、Details-Arrayが完全に削除されることです。
更新時に、クラスで言及されていないフィールドをそのままにしておく方法はありますか?

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

java - スキーマレス OrientDb での関係

スキーマレスでは、関係はどのように作成されますか: 埋め込みまたは参照?

メソッドを使用すると、ODocument APIで読み取ることができます

新しいフィールドを追加するには、自動決定ではなく、フィールド タイプを強制します。この関数によって、関係のタイプを選択できると思います。しかし、この方法を使用しない場合、関係タイプを自動決定する方法はどれですか?

この例では:

都市は埋め込まれているか参照されていますか? 埋め込まれている場合、どうすれば参照できますか、またはその逆ですか?

ありがとう!前に!

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

ruby-on-rails - リストを保存、編集、およびカスタマイズするためのスキーマの設計

私はデータベース設計の経験があまりなく、リストの作成と管理を含むこのようなものを以前に構築したことがないため、アドバイスをいただければ幸いです。パフォーマンスは後で調整できますが、保守性と拡張性がより重要になります。

私は Mongodb を使用しており、教師が個々の再利用可能なモジュールで構成される個人的な教育シラバスを作成できるようにしています。教師は、生徒ごとにシラバスをカスタマイズできます。

###オプション 1: 数値シーケンスを「結合」テーブルに保存します。

それを編集するには、プログラムに変更が加えられるたびにすべてのシーケンスをリセットする必要があります。

###オプション 2: 前後へのポインターを含むレコードを保存する

###オプション 3: モジュール ID を配列としてシラバス内に保存する

これは明らかに最も単純ですが、プログラム/モジュール固有の情報を保存することはできません。また、独自の検証チェックを行う必要があります。

もう 1 つの考慮事項は、教師が生徒のシラバスもカスタマイズできるようにする必要があるということです。たとえば、次のようになります。

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

mapreduce - 挿入前に値が存在するかどうかを一括チェックする

次のようなドキュメントを含むCouch dbにデータベースがあります。

新しいドキュメントを挿入する前に、各値のバッチ チェックを行う方法はありますか?

私が達成したいのは、データベース内の任意のドキュメントにキーと値のペア foo.bar1 = baz と foo.bar2=1 が存在し、baz が挿入する新しい値と等しい場合、バッチ関数は新しい値を挿入しないことです。資料。

より具体的には、foo.bar は日時であり、その日時が存在し、同じドキュメント内の別の値が特定の値である場合、更新は実行されません。

最初に値のリクエストを行い、次にクライアントに決定させることで、挿入の単一リクエストを行うことでこれを解決できました。しかし、クライアントとソファデータベースの間ですべてのデータがやり取りされるため、非常に時間がかかります。また、この種のチェックを行うときは、データベースの整合性に依存することを好みます。それとも、問題を解決するSQLの方法ですか?

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

types - Elasticsearch: オブジェクト フィールドのすべての (おそらく動的な) サブフィールドを文字列として宣言する方法はありますか?

この非常に単純化されたものに似たマッピングを持つ doc_type があります。

このフィールドclearancesは、フィルタリング用の一連の英数字識別子を持つオブジェクトである必要があります。一般的なドキュメントは次の形式になります。

問題は、索引付け中に、オブジェクト・フィールド内の新しいフィールドの最初に索引付けされたコンテンツが、clearances上記の場合のように完全に数値になる場合があることです。これにより、Elasticsearch はこのフィールドのタイプを として推測しlongます。しかし、これは事故です。フィールドは、別の文書では英数字である可能性があります。このフィールドに英数字の値を含む後者のドキュメントが到着すると、解析例外が発生します。

次のように定義された動的テンプレートでこれを解決しようとしました:

clearance.some_subfieldしかし、最初に索引付けされたドキュメントが整数として解析できる値を持つ場合、それは整数として推論され、そのサブフィールドに英数字の値を持つ後続のすべてのドキュメントは索引付けに失敗するということが起こり続けます。

マッピング内の現在のすべてのサブフィールドをリストすることはできますが、それらは多数あり、将来的にその数が増えると予想されます (マッピングの更新と完全な再インデックスの必要性をトリガーする...)。

新しいサブフィールドが追加されるたびに、この完全な再インデックスに頼らずにこれを機能させる方法はありますか?

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

mongodb - MongoDB: インデックス作成は面倒ですか?

一般的に言えば、スキーマレス データ構造のクエリ (したがってインデックス作成) のベスト プラクティスは何ですか? (つまり、ドキュメント)

MongoDB を使用して、確定的なデータ構造をコレクションに格納およびクエリするとします。この時点で、すべてのドキュメントは同じ構造を持っているため、各ドキュメントにインデックスに必要なフィールドがあることがわかっているため、アプリ内のクエリのインデックスを簡単に作成できます。

構造を変更して新しいドキュメントをデータベースに保存しようとするとどうなりますか? FirstName と Lastname の 2 つのフィールドを FullName に結合したとします。その結果、コレクションには非決定論的なデータが含まれます。ここには 2 つの問題があります。

  • 古いインデックスは新しいデータをカバーできないため、古いフィールドと新しいフィールドの両方を処理する新しいインデックスが必要です
  • アプリは、ドキュメントの 2 つの表現を処理する必要があります

これは、データベースに多くの変更があり、ドキュメント構造のバージョンが多数になると、大きな問題になる可能性があります。

主なアプローチは 2 つあります。

  • 遅延移行。これは、各ドキュメントが必要に応じて (つまり、コレクションからロードされた後にのみ) 最終的な構造に移行され、コレクションに戻されることを意味します。このアプローチは、どの時点でも非決定性を認めているため、実際には問題を解決しません。
  • 強制移住。これは、RDBMS の移行と同じアプローチです。アプリが実行されていない間に、ある時点ですべてのドキュメントに対して移行が実行されます。主な短所は、アプリのダウンタイムです。

質問: 特にアプリのダウンタイムなしで、問題を解決する良い方法はありますか?

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

cassandra - cassandra 2.0.9: 未定義の列のクエリ

Cassandra 2.0.9 CQL を使用して、特定の列が定義されていない行をどのようにクエリしますか? 例えば:

理想的には、次のようなことができるようになりたいです。

またはそのようなもので、id==1 の行が返されます。特定の列値が割り当てられていない行を検索する方法はありますか?

残念ながら、私は Datastax 2.0 のマニュアルと CQLSH のヘルプを調べましたが、演算子や構文を見つけようとしてもうまくいきませんでした。ありがとう。

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

graph-databases - スキーマレスタイタングラフを作成するには?スキーマデフォルトプロパティを設定するには?

スキーマレスタイタングラフを作成するには?スキーマデフォルトプロパティを設定するには? 方法を提案してください?これが私のコードです:

スキームのデフォルト構成を設定するには? 自動スキーマが生成されるようにデフォルトに設定する方法は?方法または代替案を提案してください。

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

google-app-engine - ユーザーの関心のリストをスキーマレス データストアに保存する

私は、ユーザーが自分の興味を入力してもらいたいと考えています。これは、システムに既にある場合とない場合があります。同様の興味を持つユーザーを簡単に見つけられるように、それらをスキーマレス データベース (具体的には GAE ストレージ) に保存します。

私がやろうとしていることの同様の例は、LinkedIn のスキル フォームです。

これが SQL データストアでどのように行われるかはよく知っていますが、スキーマレス データストアの知識を広げようとしています。どんな助けでも大歓迎です。