嵌套文档的pymongo聚合查询

时间:2019-02-20 07:30:44

标签: python-3.x mongodb

我在mongodb中有一个嵌套文档,用于一台特定计算机上应用的所有修补程序。 我面临的问题是使用聚合查询来提取所有ID及其对应的修补程序类型。

我正在使用的查询是:-

db.collection.find({'Update_Type。 KB2868626 .InstalledOn':{$ gte:ISODate(“ 2013-11-14T00:00:00Z”)}},{_ id:1 ,'Update_Type。 KB2868626 .Hotfix。$':1});

查询已在mongo shell上运行,它给了我输出。但是,查询包含静态KB2868626 ID。

我有这样的结构:-

  

{       “ _id”:“ TEST_2019-02-19 11:59:23.022557”,       “ DateandTime”:ISODate(“ 2019-02-19T11:59:23.022Z”),       “主机名”:“测试”,       “ Update_Type”:{           “ KB2868626”:[               {                   “ Hotfix”:“安全更新”,                   “ InstalledOn”:ISODate(“ 2013-11-14T00:00:00Z”)               }           ],           “ KB2883200”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2013-11-14T00:00:00Z”)               }           ],           “ KB2887595”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2013-11-14T00:00:00Z”)               }           ],           “ KB2894179”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2013-11-14T00:00:00Z”)               }           ],           “ KB2900986”:[               {                   “ Hotfix”:“安全更新”,                   “ InstalledOn”:ISODate(“ 2013-11-14T00:00:00Z”)               }           ],           “ KB2919355”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2018-02-24T00:00:00Z”)               }           ],           “ KB2919442”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2018-02-24T00:00:00Z”)               }           ],           “ KB2959977”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2018-02-24T00:00:00Z”)               }           ],           “ KB2992611”:[               {                   “ Hotfix”:“安全更新”,                   “ InstalledOn”:ISODate(“ 2018-02-24T00:00:00Z”)               }           ],           “ KB2999226”:[               {                   “ Hotfix”:“更新”,                   “ InstalledOn”:ISODate(“ 2018-08-02T00:00:00Z”)               }           ],           “ KB3149090”:[               {                   “ Hotfix”:“安全更新”,                   “ InstalledOn”:ISODate(“ 2018-02-24T00:00:00Z”)               }           ]       }   }

此外,我想不出一种构建管道结构以获得所需结果的方法。

任何帮助都会很棒。谢谢。

0 个答案:

没有答案