对于最终用户应用程序,我需要构建一个GUI来搜索mongodb文档中的值。 我有以下文件:
{'METADATA': {'AttachmentSchema': None,
'DataSchema': None,
'Tags': {'AcquisitionTime': '2019-02-05T15:59:37.5862118Z',
'DetectorState': {'CameraState': {'ApplyCameraProfile': 'false',
'ApplyImageOrientation': 'true',
'ExposureTime': '2200000',
'Frame': '0,0,2752,2208',
'ImageOrientation': '3'}},
'FocusPosition': '+000000002097.2550',
'ImageScaling': {'ImageScaling': {'ImagePixelSize': '4.54,4.54'}},
'RoiCenterOffsetX': '+000000000000.0000',
'RoiCenterOffsetY': '+000000000000.0000',
'StageXPosition': '+000000141526.5820',
'StageYPosition': '+000000189329.5000'}},
'_id': ObjectId('5def7e8c4802b906dd067f97')}
如何访问值为3
的键,例如ImageOrientation
。
使用点表示法非常简单,如下所示:
db.getCollection("dy").find(
{
"METADATA.Tags.DetectorState.CameraState.ImageOrientation" : "3"
}
);
但是非IT用户无法编写此查询,因此我希望将用户的输入作为键ImageOrientation和值3,并在后端为用户构建查询,并将结果返回给python gui。我用$elemMatch
操作符尝试了一下,但在这个例子中不起作用
否则,我必须为用户反向构建点符号查询,但我认为这不是一个好主意。因为文档结构可以是多种多样的
请使用符合条件的聚合
相关问题 更多 >
编程相关推荐