0

このような書類がありますが、

{
    "S" : {
        "500209" : {
            "total_income" : 38982,
            "interest_income" : 1714,
            "reported_eps" : 158.76,
            "year" : 201303
        }
    },
    "_id" : "pl"
}

このドキュメントを次のように更新しようとしています。

{
    "S" : {
        "500209" : {
            "total_income" : 38982,
            "interest_income" : 1714,
            "reported_eps" : 158.76,
            "year" : 201303,
            "yield": 1001,  <== inserted a new attribute
        }
    },
    "_id" : "pl"
}

私はこれを試しました、

db.my_collection.update({_id: 'pl'},{$set: {'S.500209.yield': 1}})

しかし、私はそれを作ることができませんでした。そして、スタックオーバーフローとグーグルで検索しましたが、わかりませんでした。

私は非常に多くの回答を得ましたが、それらのほとんどはサブドキュメントを配列に保持しています.

私の問題を解決するのを手伝ってください。なぜそれらのほとんどがサブドキュメントを配列に保持しているのか教えてください。

4

1 に答える 1

1

数字キーが問題を引き起こす可能性があります。フィールド名を更新します。

db.my_collection.update({_id: 'pl'},{$set: {'S.a500209.yield': 1}})

編集

モンゴのバージョンアップ。2.4で問題なく動作します。

于 2013-10-24T07:07:00.683 に答える