python - 仅在 MongoDB 中返回匹配的属性
问题描述
我有以下数据结构。数据库包含多个实例,所有实例都具有相同的基本数据结构。
{
_id: ObjectId('5f4ceabe521de56d99738fd4'),
position: 11,
entropy: 0.4582005345072268,
supports: 61,
sequences: [
{
position: 11,
sequence: 'CLVFAQKIP',
count: 56,
conservation: 91.80327868852459,
motif_short: 'I',
motif_long: 'Index',
id: [
'ASU55526.1',
'ASU55528.1',
'QBM69729.1',
'QJR40421.1'
],
strain: [
'Influenza A virus A/Shandong-Zhifu/164/2016',
'Influenza A virus A/Shandong-Zhifu/1185/2016',
'Influenza A virus A/China/71517/2016',
'Influenza A virus A/Jiangxi/2017lgfh0026/2016'
],
country: [
'HA Hemagglutinin',
'HA Hemagglutinin',
'HA Hemagglutinin',
'HA Hemagglutinin'
],
host: [
'Influenza A virus A/Shandong-Zhifu/164/2016',
'Influenza A virus A/Shandong-Zhifu/1185/2016',
'Influenza A virus A/China/71517/2016',
'Influenza A virus A/Jiangxi/2017lgfh0026/2016'
]
},
{
position: 11,
sequence: 'CLVFAQKLP',
count: 4,
conservation: 6.557377049180328,
motif_short: 'Ma',
motif_long: 'Major',
id: [
'APQ31289.1',
'APQ31290.1',
'QJR40413.1',
'QJR40414.1'
],
strain: [
'Influenza A virus A/Xiamen/s200/2016',
'Influenza A virus A/Xiamen/s175/2016',
'Influenza A virus A/Jiangxi/2016lgfh1021/2016',
'Influenza A virus A/Jiangxi/2017lgfh0045/2016'
],
country: [
'HA Hemagglutinin',
'HA Hemagglutinin',
'HA Hemagglutinin',
'HA Hemagglutinin'
],
host: [
'Influenza A virus A/Xiamen/s200/2016',
'Influenza A virus A/Xiamen/s175/2016',
'Influenza A virus A/Jiangxi/2016lgfh1021/2016',
'Influenza A virus A/Jiangxi/2017lgfh0045/2016'
]
},
{
position: 11,
sequence: 'CLDFAQKIP',
count: 1,
conservation: 1.639344262295082,
motif_short: 'U',
motif_long: 'Unique',
id: [
'APQ31291.1'
],
strain: [
'Influenza A virus A/Xiamen/s228/2016'
],
country: [
'HA Hemagglutinin'
],
host: [
'Influenza A virus A/Xiamen/s228/2016'
]
}
],
variants: 3
}
我需要的是获取“motif_short”属性等于“I”的序列(不是整行或序列列表)。有时可能有两个或多个,但在这个特定的例子中,只有一个“I”序列。
我正在使用 Python (PyMongo),经过多次尝试,我只剩下一半的解决方案,而且头上没有头发。
db.document.find({'sequences.motif_short': {"$eq": 'I'}}, {'sequences': 1, '_id': 0})
这显然给了我匹配的整个“序列”属性,这不是我想要的。
我对 Mongo 比较陌生,所以我猜这是一个相当简单的问题。请帮帮我。
解决方案
推荐阅读
- docker - 如何将docker容器ip暴露给外网?
- rust - 结构 SystemTime 中不存在字段 tv_sec
- ios - 使用 PSPDFKIT,如何覆盖 PSPDFDrawView 类来添加触摸事件功能?
- java - 将数据插入客户表时出现错误
- tensorflow - 使用 MobileNet 重新训练图像检测
- php - Catch-all 应该将路径传递给 nginx 中的 index.php
- javascript - 如何将查询结果推送到 node.js 中的数组变量?
- azure - 从 azure 逻辑应用程序调用 POST api 时内容类型无效
- scala - Scala中单子内的可重入锁
- python - Tensorflow 是否具有类似于 python 中的 set() 的数据类型?