Обновить значение массива в документе с PimongoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обновить значение массива в документе с Pimongo

Сообщение Anonymous »

Я создаю трекер, который отслеживает использование приглашений на Discord и который использовал, которые приглашают, когда присоединяется участник. Я храню данные в MongoDB. У меня проблемы с обновлением значения использования, которое я хранил в массиве. Я хочу, чтобы значение увеличивалось на один после использования, чтобы оно было отражено в базе данных. < /P>
Документ ниже < /p>

Код: Выделить всё

{
"_id": {
"$numberLong": "1290376241140076606"
},
"log_channels": {
"channel_log": {
"$numberLong": "1343383983291105360"
},
"voice_log": {
"$numberLong": "1345281298788253726"
},
"welcome_log": {
"$numberLong": "1344993348808605727"
},
"guild_log": {
"$numberLong": "1343355706547634290"
},
"invite_log": {
"$numberLong": "1343356487602274325"
},
"join_log": {
"$numberLong": "1343355776890310708"
},
"leave_log": {
"$numberLong": "1343355776890310708"
},
"ban_log": {
"$numberLong": "1343356340201852959"
},
"unban_log": {
"$numberLong": "1343356340201852959"
},
"message_log": {
"$numberLong": "1343383983291105360"
}
},
"voice_activity": {},
"invites": [
{
"UrxbKHJV": [
0,
"1118711272054198322",
"2025-03-01 15:18:55.838000+00:00"
]
},
{
"bVnjb7ser9": [
0,
"1118711272054198322",
"2025-03-01 16:27:03.759000+00:00"
]
},
{
"stTaCBQV": [
0,
"1118711272054198322",
"2025-03-02 05:00:09.580000+00:00"
]
}
]
}
< /code>
Код ниже < /p>
filter = {'_id': guild.id}
invite_pool = await guild.invites()
query = await db.guilds.find_one(filter)
tracked_invites = query['invites']

for invite in invite_pool:
for tracked_invite in tracked_invites:
tracked_code = next(iter(tracked_invite))
tracked_uses = tracked_invite.get(tracked_code)[0]
if tracked_code == invite.code and tracked_uses != invite.uses:
await db.guilds.update_one(filter,{'$inc': {f'invites.$.{tracked_code}.{tracked_uses}': 1 } })
return tracked_invite.get(tracked_code)[1]
< /code>
Pool - это текущие приглашения, хранящиеся с помощью Discord на сервере, а отслеживаемые приглашения являются приглашениями в коллекции. Предполагается, что он сравнивает коды приглашений. Когда он находит совпадение в приглашенных кодах, он проверяет, совпадают ли использование друг друга. Если использование не совпадает, это идентифицирует как приглашение, которое использовалось для присоединения участника. Я хочу увеличить значение использования одним, чтобы отразить правильное значение использования в базе данных. Когда я запускаю код < /p>
await db.guilds.update_one(filter,{'$inc': {f'invites.$.{tracked_code}.{tracked_uses}': 1 } })

Это строка кода, в частности, которая доставляет мне проблемы. Это не увеличение значения в массиве. Таким образом, значение 0, которое является первым элементом в массиве, - это то, что я пытаюсь увеличить на один.

Подробнее здесь: https://stackoverflow.com/questions/794 ... th-pymongo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pimongo Middleware, чтобы перехватить запрос и вернуть результат, не нажимая БД
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Pimongo создать дикт на основе группового матча
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Поиск документа ObjectId в MongoDB с Pimongo
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Gevent AssertionError при использовании Pimongo в приложении Flask-Socketio
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Проблемы несовместимости Pimongo и Beanie
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»