错误:以美元($)为前缀的字段'$ exists'对存储无效。在find_one_and_update()中使用$ set时

时间:2019-05-31 01:36:58

标签: python mongodb pymongo pymongo-3.x

我收到错误The dollar ($) prefixed field '$exists' in '526616387293151242.Edit|Delete.$exists' is not valid for storage.,这是因为我在$exists中使用了$set,但是我没有其他方法可以使它不使用$exists而忽略一个值在不使用$exists

的情况下,我将如何解决此问题或其他任何方式
dbclient = MongoClient('mongodb://localhost:27017/')
Db = dbclient['Bot-settings']
Md=Db['Mod-log']

Md.find_one_and_update(
  {
    # ctx.guild.id is already defined not shown here
    f'{ctx.guild.id}.Join|Leave':{ 
      '$exists': True},
    f'{ctx.guild.id}.Edit|Delete':{
      '$exists': True}
  },
  {'$set':{
    # wait2.content is defined not shown here
    f'{ctx.guild.id}.Join|Leave': wait2.content, 
    f'{ctx.guild.id}.Edit|Delete':{
      '$exists':True}
  }}, 
  upsert=True
)

0 个答案:

没有答案