1

1 つのドキュメントで表される名前と値のペアで構成される一連のユーザー データがあります。そのデータを保存するためにmongodbを使用しており、mongo内で名前/値のペアごとに個別のフィールドを作成して各ペアを直接配置するのではなく、名前/値のペアのドキュメントをコレクション内の単一のフィールド内の文字列として配置することを考えています独自のフィールドに。

前者が悪い考えである理由について、誰かが意見を持っていますか。クエリごとに多くのレコードは想定されておらず、おそらくレコードごとに約 100 の名前と値のペアが存在します。

4

2 に答える 2

2

まあ、それを単一の文字列として保存するメリットはありません。ドキュメントのサイズはほぼ同じで、個々のペアの名前フィールドにインデックスを付けることはできず、特定の名前/値のペアの存在についてクエリを実行することはできません。反対に、私は単一の利点を考えることはできません. 唯一の本当の選択は、これを行うかどうかです:

{
    name1: value1,
    name2: value2,
    name3: value3
}

また

[
    {
        name: name1,
        value: value1
    },
    {
        name: name2,
        value: value2
    },
    {
        name: name3,
        value: value3
    }
]
于 2011-08-11T09:29:50.223 に答える
0

"name=xxx" AND "value="xxx" の場所を検索する必要がある場合、後者の場合にインデックスを作成するための推奨される方法は何ですか?価値"?

于 2011-09-06T15:13:00.887 に答える