mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
[V3 Mongo] Fix all behavior (#2580)
This commit is contained in:
parent
c82ac5ae68
commit
8b3c3e89e9
@ -93,7 +93,7 @@ class Mongo(BaseDriver):
|
|||||||
elif len(pkeys) > 1:
|
elif len(pkeys) > 1:
|
||||||
# All other data
|
# All other data
|
||||||
partial = ret
|
partial = ret
|
||||||
for key in pkeys[1:-1]:
|
for key in pkeys[:-1]:
|
||||||
if key in identifier_data.primary_key:
|
if key in identifier_data.primary_key:
|
||||||
continue
|
continue
|
||||||
if key not in partial:
|
if key not in partial:
|
||||||
@ -155,13 +155,15 @@ class Mongo(BaseDriver):
|
|||||||
def generate_primary_key_filter(self, identifier_data: IdentifierData):
|
def generate_primary_key_filter(self, identifier_data: IdentifierData):
|
||||||
uuid = self._escape_key(identifier_data.uuid)
|
uuid = self._escape_key(identifier_data.uuid)
|
||||||
primary_key = list(map(self._escape_key, self.get_primary_key(identifier_data)))
|
primary_key = list(map(self._escape_key, self.get_primary_key(identifier_data)))
|
||||||
ret = {"_id": {"RED_uuid": uuid}}
|
ret = {"_id.RED_uuid": uuid}
|
||||||
if len(identifier_data.identifiers) > 0:
|
if len(identifier_data.identifiers) > 0:
|
||||||
ret["_id"]["RED_primary_key"] = primary_key
|
ret["_id.RED_primary_key"] = primary_key
|
||||||
else:
|
elif len(identifier_data.primary_key) > 0:
|
||||||
for i, key in enumerate(primary_key):
|
for i, key in enumerate(primary_key):
|
||||||
keyname = f"RED_primary_key.{i}"
|
keyname = f"_id.RED_primary_key.{i}"
|
||||||
ret["_id"][keyname] = key
|
ret[keyname] = key
|
||||||
|
else:
|
||||||
|
ret["_id.RED_primary_key"] = {"$exists": True}
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
async def clear(self, identifier_data: IdentifierData):
|
async def clear(self, identifier_data: IdentifierData):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user