为匹配的array设置一个新值具有一个带有_id的文档的文档的数组那些与_id匹配的文档将被设置

时间:2019-06-21 02:21:49

标签: node.js mongodb mongoose

我有一个文件

playerSettings: [  
   {  
      "greenFee":{  
         "9":{  
            "fee":1,
            "maxPlayers":1
         },
         "18":{  
            "fee":1,
            "maxPlayers":1
         }
      },
      "playerType":"someOBJID"
   },
   {  
      "greenFee":{  
         "9":{  
            "fee":1,
            "maxPlayers":1
         },
         "18":{  
            "fee":1,
            "maxPlayers":1
         }
      },
      "playerType":"someOBJID"
   }
]

我想使用arrayFilter更新与我的过滤器匹配的greenFee属性,我有这样的东西;

arrayFilters: [{ 'player.playerType': { $in: arrayOfPlayerSettingsPlayerType } }]

其中arrayOfPlayerSettingsPlayerType是playerType IDS的数组。我遇到的问题是通过具有类似这样的数组来将greenFee属性设置为新值;

[
 {  
      "greenFee":{  
         "9":{  
            "fee":1,
            "maxPlayers":1
         },
         "18":{  
            "fee":1,
            "maxPlayers":1
         }
      },
      "playerType":"someOBJID"
   }
]

但只能将与该playerTypeID匹配的值设置为原始playerType。

0 个答案:

没有答案