From a1f523f07ec6524dc05246157723ea8104d557f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=BF=E4=BC=A6=E4=BC=A6?= Date: Tue, 30 Nov 2021 23:59:35 +0800 Subject: [PATCH] user upsert --- messages/__pycache__/base.cpython-39.pyc | Bin 1515 -> 1579 bytes messages/base.py | 9 ++++++--- store/__pycache__/mongo.cpython-39.pyc | Bin 1029 -> 1214 bytes store/mongo.py | 3 +++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/messages/__pycache__/base.cpython-39.pyc b/messages/__pycache__/base.cpython-39.pyc index bbbef2f567ee82ab4ddd84802a4378b0ab43f0b0..c522b12f467b13b5ebbe58e20f2216ea1af3d8a6 100644 GIT binary patch delta 477 zcmXv}zfT)66!v@eIpHps1X@6}6+eVPuz;wVN=O~p%EVG6q#KIT*wDKscahHwpdcie znY?C5RH;kVp?^umnt!34DkcWXJ4kJPpWmnVz0daV;Cm%(hM~`BHFm!>fBXz3zWPhb zvMZ)wjwvMYFWk&1_JN%Z+$O%bNQClwn0PT1Opt^Up-h-ad?n`?RY6jDIq^>IN2A3AXy~yii>2Vg7blUvX)+)j*H6i_Ogt2lVU-L|jl-uTwV1FGV zdD6|bu`cDyJGI5GHhG-ed{G;dne|!2$!m}(s^;1rwz76xw`@Gli~^&(?Pg0KW~nwc z_ls|A)r*PAf+W#Mwz3YrXe2w@e$Ld$>zX*VksqhUwZ)u!DOTKj@#ghA@-vtMfd~?O nETaJV54nJ+?V|*FFYbhox3XHt3c9c22pZ1!E@9POdmkSF(%5tT delta 344 zcmXw#ze~eV5XbM{dwEIIrcJ9BTSQt!Xa|2F>VM$kDyWlEco7mIEiXZ^qzJmWA2@Yr z7Z)f04smnp>LmUJI*6|l@A%x^7w!)3o=TrZujhF#7`tjb_70vs$yR1YrEmud8=#nh zUvgbna0J79+G5R{iO5)F8Kl8BIEF&xDyspeDn_Nh=qWj7${x!pB4jvW8ARo%68X6n zxvu89W~QtRCJR$g&RER5P9WYFkS<=oA&fY}a5Y`Z3i%pUpbyqYmx{beUEUEh7AiXC zd-TB9s^vkTlQ2n>R-koXckA@RTb>)nNubm7ejMm3eeq3MG1qFJHpDWWigkNt4Rjc% rG!na=o%vs|hJrDa=rV^1{CAg0lt1FzDfvk6;sUqn(7MGoy;^6#jV(~9 diff --git a/messages/base.py b/messages/base.py index c91e9d2..6a7e619 100644 --- a/messages/base.py +++ b/messages/base.py @@ -22,7 +22,9 @@ class Base: user = self.user() - store.insert_one({ + store.replace_one({ + "id": user.id + }, { "id": user.id, "shortId": user.shortId, "nickname": user.nickname, @@ -32,9 +34,10 @@ class Base: "followingCount": user.followInfo.followingCount, "followerCount": user.followInfo.followerCount } - }) + }, upsert=True) store.set_collection(self.instance.common.method) + store.insert_one({ "msgId": self.instance.common.msgId, "roomId": self.instance.common.roomId, @@ -42,7 +45,7 @@ class Base: 'content': self.format_content() }) except Exception as e: - print(self.instance.common.method + 'persists error') + print(self.instance.common.method + ' persists error') def __str__(self): diff --git a/store/__pycache__/mongo.cpython-39.pyc b/store/__pycache__/mongo.cpython-39.pyc index aaad988fa5e97578efe0c52cfca37a164c4b63c4..ba81d92c79162c5fe42e5d2144bb709a93f90642 100644 GIT binary patch delta 506 zcmZuu!AiqG5Y6tU$!62UXazwOFACG{= zc+!&gnDiQwOJ{8KEGeW5w=J6;BlN3}8&d0lw27myiQczCSc^Cx43c=1=2=J;2TFMe z&L0TfqNk7D*aT*N@VfzV4pFQDlt$m^laiFQWRkov=tr+YQd{@KB2go-M%UU^$#4+G z$!(q`p*d~WbK*RcDGpGZG8#o{1u7T&W7-G+J$=A7?3soBq=zR>VCUW<&9D_(zs>$+ zb%_&B8|Zg>akMCQXX3jkdr++GYYJNnLlkQYdkP1TW=r7= zX3*rCxF?n|YO)lgJ0r*BB*w`aY(V9=xRUd8a#E8^GV}8^nTptfLPb0vf&)%)PL^e| zoZP^yZOIK311bW^-{Q*5D^4vciOe#Qw?(`l0%Raq8c7RSGbc!b8Az}KaWP1U ugOP)UgPDUFEUL*;#5%d0MOF)86I|OZ4x8Nkl+v73J4TRR7LZ;h9wq>bVm~SX diff --git a/store/mongo.py b/store/mongo.py index 1d19eb6..097f153 100644 --- a/store/mongo.py +++ b/store/mongo.py @@ -10,6 +10,9 @@ class MongoStore: def set_collection(self, collection): self.collection = self.db[collection] + def replace_one(self, condition, data, upsert=True): + return self.collection.replace_one(condition, data, upsert=upsert) + def insert_one(self, data): return self.collection.insert_one(data)