diff --git a/messages/__pycache__/base.cpython-39.pyc b/messages/__pycache__/base.cpython-39.pyc index bbbef2f..c522b12 100644 Binary files a/messages/__pycache__/base.cpython-39.pyc and b/messages/__pycache__/base.cpython-39.pyc differ 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 aaad988..ba81d92 100644 Binary files a/store/__pycache__/mongo.cpython-39.pyc and b/store/__pycache__/mongo.cpython-39.pyc differ 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)