为什么mongodb update方法使用扩展名“\u keys”创建一个新集合?

2024-09-30 16:26:43 发布

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

我使用mongoDB方法update来修改名为annotations的集合中的现有文档。我的命令是用Python脚本编写的:

db['annotations'].update({'_id': annotation['_id']}, {'$set': {'orthologs': orthologs}}, False)

必须修改字段orthologs,以包含名为orthologs的变量所给定的新子字段UniProt

令人惊讶的是,创建了一个名为annotations_keys的新集合。它只包含一个文档:{ "_id" : "UniProt", "value" : null }

正常吗?如果没有,问题是什么


Tags: 方法文档命令脚本idfalsedbmongodb
1条回答
网友
1楼 · 发布于 2024-09-30 16:26:43

是的,拉斐尔,我肯定

新创建的集合实际上被命名为“annotationS”+“keys”,就像初始集合“annotationS”。此外,annotation['\u id']来自一个循环,该循环在db中找到与请求相对应的每个文档(“annotation”):

annotation = db['annotations'].find_one({'class': 'CDS', 'locus_tag': annotated_molecule.name})

相关问题 更多 >