如何使用推算符更新数组文档的多个值?

时间:2019-06-24 02:05:10

标签: mongodb python-2.7 pymongo-3.x

我正在解析一个平面文件,并在mongodb中更新结果。 平面文件包含基金信息和基金组成详细信息。 基金由多只股票组成 文件架构

{
    "fundName":"WealthCorp"
    "fundComposition":
                     [
                       "equityName":"Apple"
                        "equityPercentage":10 
                      ]
   }

我正试图在推操作符的帮助下更新数组文档“ fundComposition”

文档架构

  {
    "fundName":"WealthCorp"
    "fundComposition":
                     [
                       "equityName":"Apple"
                        "equityPercentage":10 
                      ]
   }

---更新

db.Fund.update(
                {'FundName':"WealthCorp"},
                    {
                      '$push':{
                          'FundComposition':{
                                      'EquityName':"IBM",
                                      'EquityPercentage':9
                                             }
                                }
                     }
                 )

错误:“ FundComposition”字段必须是数组,但在文档中属于对象类型

db.Fund.update(
                {'FundName':"WealthCorp"},
                    {
                      '$push':{
                          'FundComposition':[{
                                      'EquityName':"IBM",
                                      'EquityPercentage':9
                                             }]
                                }
                     }
                 )

错误:“ FundComposition”字段必须是数组,但在文档中属于对象类型

预期结果:

{
    "fundName":"WealthCorp"
    "fundComposition":
                     [
                       "equityName":"Apple",
                        "equityPercentage":10 
                      ],
                      [
                        "equityName":"IBM",
                        "equityPercentage":9
                       ]
   }

0 个答案:

没有答案