我正在使用pymongo
版本4.3.3和motor
版本3.1.2
这是我的代码:
async def add_reputation_to_db(
self,
guild_id: hikari.Snowflake,
user_recieve_id: hikari.Snowflake,
) -> None:
await self._guild_collection.update_one({'_id': guild_id}, {'$inc': {f'{user_recieve_id}.reputation': 1}})
我没有错误,但问题是,如果我使用一个点跳转到字典中的某个键,数据库不会更新任何数据,在我的情况下,它是f'{user_recieve_id}.reputation'
。
我的文档的层次结构如下所示:
{
'_id': guild_id,
'user_id': {
'reputation': 123
}
}
但是user_id
必须是用户标识符作为数字。
我在互联网和ChatGPT上寻找解决方案,但它没有给予我任何结果。
1条答案
按热度按时间n7taea2i1#
这段代码似乎可以工作。请注意,如果您没有匹配的
_id
,则不会设置任何内容。打印: