次のような JSON を追加しようとすると、次のようになります。
{ 'character.treasure_chests': 1 }
Mongoose は次のようなエラーで吠えます。
[エラー: キー character.treasure_chests に '.' を含めることはできません]
これは予想される動作ですか?
私は次のようなことをかなり確信しています:
{"foo.com": 2}
実際には有効な JSON です。キーは単なる文字列です。
http://jsonlint.com/ はそれについて不平を言うことはなく、マングース スキーマ (および他のいくつかの場所) の Mixed プロパティに割り当てようとする場合を除いて、好きな場所で喜んで使用できます。
この小さなフィドルで動作することがわかります: http://jsfiddle.net/gBgB6/1/
場合によっては、キーパス {"foo.baz":0} を介して値を保存し、mongo ドキュメントの外部にある JavaScript オブジェクトのキーへのポインターとして使用したいことがあります。mongoにネストされた形式で保存したくありませんが、次のように再マップしたくありません
{key:"foo.baz",
value: '0'
}
ドット (.) を別の文字にマッピングして、テーブルに値を格納することに頼ったことが何度かあると思います。
私にはマングースの欠点のようです。私はそれの後に尋ねるかもしれません:)。