PyMongo の upsert が "upsert must be an instance of bool" エラーを投げます。
2023-10-08 06:27:09
質問
PythonからMongoDBのアップデートを実行しています。このような行があります。
self.word_counts[source].update({'date':posttime},{"$inc" : words},{'upsert':True})
しかし、このようなエラーを投げます。
raise TypeError("upsert must be an instance of bool")
しかし
True
はboolのインスタンスのように見えますね。
この更新はどのように書くのが正しいのでしょうか?
どのように解決するのですか?
PyMongoの3番目の引数である
update()
は
upsert
で、辞書ではなく boolean を渡さなければなりません。コードを変更します。
self.word_counts[source].update({'date':posttime}, {"$inc" : words}, True)
または
upsert=True
をキーワード引数として渡します。
self.word_counts[source].update({'date':posttime}, {"$inc" : words}, upsert=True)
あなたの間違いは、おそらく
update()
の中にある
MongoDB ドキュメント
. JavaScript 版の
update
のようなオプションのパラメータを含むオブジェクトを第三引数にとります。
upsert
と
multi
. しかし、Pythonでは関数にキーワード引数を渡すことができるので(位置引数しかないJavaScriptとは異なります)、これは不要であり、PyMongoはこれらのオプションをオプションの関数パラメータとして代わりに受け取ります。
関連
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み】Pythonでstdoutをファイルにリダイレクトする?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Python Empty Generator 関数
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] mongodb: 存在しない場合は挿入する
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] if 節の終了方法
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例