MongoDB数据不存在时插入,已存在时更新
天蓬老师
天蓬老师 2017-04-21 11:15:38
0
3
648

如题,我现在实现的方法是用语句来查询:

result = db.collection.find_one(xxxx)
if result:
    更新数据
else:
    插入数据

但是,这种方法效率太低了,不知道有没有更好的方法?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(3)
小葫芦

MongoDB では、upsert と呼ばれる特別な更新が導入されています。更新条件を満たすドキュメントがない場合は、この条件に基づいて新しいドキュメントが作成され、一致するドキュメントが見つかった場合は、通常どおり更新されます。

詳細については、MongoDB のドキュメントを参照してください。

いいねを押す +0
刘奇

アップサート:
db.collection.update(xx, xx,true)
3 番目のパラメータを true に設定するだけです

いいねを押す +0
刘奇

mongodb の find_one をテストした人がいるかどうかはわかりませんが、数十億のデータをクエリする場合は問題ありません (テスト済み)。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート