Pymongo MongoDb中删除子词典元素的问题

2024-10-04 09:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题好几个小时了,还没有找到答案。我的问题是我想删除子字典中的键/值对

MongoDB中的结构如下所示:

'_id' : objectId
'title: 'title'
'words': {
       'word1' : [pos0,pos1,pos2,pos3],
       'word2' : [pos0,pos1,pos2,pos3],
        .
        .
        . 
}

运行此查询时:

client = pymongo.MongoClient(f"MONGODB_CONNECTION_LINK")
db = client.database
cursor = db['templates'] #OR cursor = db['templates'][index]

query =  { 'words': { f'{word}' : f'{pos}' }}

 x = cursor.delete_many(query)

然后打印出光标,我得到deletesult对象所在的位置。另外,当我删除它们并打印报税表时,它会显示某些内容已被删除。。但当我去我的数据库时,它仍然在那里。 索引是我要从中删除的对象。Like索引[0]应该是数据库中的第一个对象。但是,当我尝试使用索引或不使用索引进行删除时,结果是相同的

顺便说一句,我们还尝试了其他一些查询,但可能不是正确的

谢谢你们的帮助

DataStructure in MongoDb

[Without Index1

With Index


Tags: 对象答案client数据库dbtitlequerycursor
1条回答
网友
1楼 · 发布于 2024-10-04 09:20:40

我的代码中有两个问题:

  1. 根据帖子,我没有正确访问条目:

MongoDB - finding entries using a nested dictionary

  1. 我用点保存了我的单词值。因此,我允许mongodb使用点存储。在这种情况下,无法正确访问条目

现在我刚刚添加了一个新的正则表达式:

regex3=re.compile(r'[,.]') re.sub(regex3',words.decode_contents())

我认为光标只是指向数据的预期位置。即使位置存在或不存在。你不会得到一个错误或类似的东西。与DeleteResult相同

相关问题 更多 >