3

次のような JSON を追加しようとすると、次のようになります。

{ 'character.treasure_chests': 1 }

Mongoose は次のようなエラーで吠えます。

[エラー: キー character.treasure_chests に '.' を含めることはできません]

これは予想される動作ですか?

4

4 に答える 4

3

私は次のようなことをかなり確信しています:

{"foo.com": 2}

実際には有効な JSON です。キーは単なる文字列です。

http://jsonlint.com/ はそれについて不平を言うことはなく、マングース スキーマ (および他のいくつかの場所) の Mixed プロパティに割り当てようとする場合を除いて、好きな場所で喜んで使用できます。

この小さなフィドルで動作することがわかります: http://jsfiddle.net/gBgB6/1/

場合によっては、キーパス {"foo.baz":0} を介して値を保存し、mongo ドキュメントの外部にある JavaScript オブジェクトのキーへのポインターとして使用したいことがあります。mongoにネストされた形式で保存したくありませんが、次のように再マップしたくありません

{key:"foo.baz",
 value: '0'
} 

ドット (.) を別の文字にマッピングして、テーブルに値を格納することに頼ったことが何度かあると思います。

私にはマングースの欠点のようです。私はそれの後に尋ねるかもしれません:)。

于 2013-10-13T18:51:40.390 に答える