2017-08-10 5 views
0

だから、私は私のマングースで次のスキーマがあります。「_keys」アレイ内プロパティにキーと値のペアを保存するスキーマ - マングース

// MODEL 
const PortletSchema = new Schema({ 
    slug: String, 
    version: String, 
    environment: String, 
    scap: Number, 
    country: { 
     type: String, 
     uppercase: true 
    }, 
    _keys: [{ key: String, value: String }] 
}); 

を、私はこのようなキーと値のJSONを保存したいです:

// EXPECTED WAY TO STORE DATA INSIDE THE _keys PROPERTIES 
{ 
    [ 
     {"key": "value"}, 
     {"anotherKey": "Another Value" } 
    ] 
} 

だから方法は、私が代わりに好きなことを定義するプロパティ_keys内部「ダイナミックキー」を持つことができます:私が欲しいのはなぜ

// HOW I STORE THEM TODAY 
[{ key: String, value: String }] 

をこれはサービスを介してJavaアプリケーションで読み取られ、その配列をマップして${anotherKey}のようなキーを取得することを想定しています。

現時点では、Javaアプリケーションに情報を送信する前に、まず最初に述べた方法にキーを変更するライブラリを作成しました。したがって、Javaアプリケーションはコードの2番目の断片のように受け取っています。

_sonysの中にjsonファイルを保存して、必要な情報を送信します。

どのようなヘルプやアドバイスは大歓迎です!

+1

あなたの予想される '_keys'のjsonスキーマは有効なjsonではありません! –

+0

ありがとう@KayvanMazaheri、実際には今のように正しいプロパティを置くのを忘れていました: _keys:[{key:String、value:String}] ありがとう! – diegoalmesp

+1

実際にスキーマに何をしているかは、実際に**すべてのエントリが{"key": "data"、 "value": "data"}に従っていることを保証するためです。 'パターン。したがって、このスキーマには、**キー "キー"、 "値"、および他の名前を持たなくてはなりません。それを "可変"にするには、 '_keys:[Mixed]'を使うか、 '_keys:[]'だけを使用します。これは、常に各オブジェクトの** ** ** **キーであることを確認するカスタム検証を追加することができます。しかし、スキーマタイプ自体ではそれを行うことはできません。 –

答えて

0

@NeilLunnが示唆したように、私はこのよう_keys値を使用:これは私が内部の任意のタイプのオブジェクトを挿入することができ

_keys: []

を。

関連する問題