【问题标题】:filter must be an instance of dict, bson.son.SONfilter 必须是 dict、bson.son.SON 的实例
【发布时间】:2021-08-16 05:57:06
【问题描述】:

TypeError("%s 必须是 dict、bson.son.SON 或 " TypeError: filter 必须是 dict、bson.son.SON 或任何其他继承自 collections.Mapping 的类型的实例

prev = {"name", "Amy"}
next_ = {"$set": {"address", "Ahmadabad"}}
collection.update_one(prev, next_)

【问题讨论】:

    标签: collections pymongo


    【解决方案1】:

    一个微妙的,但很容易犯的错误;将逗号 (,) 替换为冒号 (:)

    prev = {"name": "Amy"}
    next_ = {"$set": {"address": "Ahmadabad"}}
    collection.update_one(prev, next_)
    

    pymongo 通常需要字典参数。如果你使用逗号,那就是创建set 的语法;在 python 中完全有效,但在 pymongo 中没有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 2021-06-20
      • 1970-01-01
      • 2019-03-21
      • 2012-05-04
      • 1970-01-01
      相关资源
      最近更新 更多