如何在查询中访问数组的对象?
How can I access objects of an array in a query?
我目前正在为我的学校做一个项目。目标是分析由 salt-stack 生成的日志文件。我已经在 salt-stack 中设置了 MongoDB 和 MONGO_FUTURE_RETURN Returner。
我想通过 python 脚本分析日志文件。一切都已连接,基本查询如 db.saltReturns.find() 工作正常。
因为我不想重写重调器并且我的程序需要访问不同的对象我需要像 "Object.Everything.nestedObject".
为了阐明我的意思,我附上了一段数据并将向您展示我想要访问的内容。
我已经尝试使用 $、$each 和 $[] - none 解决了我的问题。
"fun_args" : [ ],
"jid" : "20190423135733454092",
"return" : {
"cmd_|-sssd-ldap-cmd-pam-auth-update-bugfix_|-/usr/local/bin/bugfix-682662-sh_|-wait" : {
"comment" : "No changes detected",
"start_time" : "13:58:22.852410",
"result" : true,
"duration" : 0.016,
"__run_num__" : 26,
"__sls__" : "sssd-ldap.install",
"changes" : {
}
},
"pkg_|-salt-minion-required-packages_|-salt-minion-required-packages_|-installed" : {
"comment" : "All specified packages are already installed",
"name" : "python-concurrent.futures",
"start_time" : "13:58:18.915102",
"result" : true,
"duration" : 24.703,
"__run_num__" : 5,
"__sls__" : "salt-minion.install",
"changes" : {
},
"__id__" : "salt-minion-required-packages"
}
...
}
在我的脚本中,我想访问:
"full_ret.return.[all].comment"
我只需要一个位置运算符,它可以替换 [all]
占位符。
我搜索了很多论坛和文档,但找不到 mongoDB 查询的通配符。遗憾的是,这似乎是一个不会实现的功能。
我目前正在为我的学校做一个项目。目标是分析由 salt-stack 生成的日志文件。我已经在 salt-stack 中设置了 MongoDB 和 MONGO_FUTURE_RETURN Returner。 我想通过 python 脚本分析日志文件。一切都已连接,基本查询如 db.saltReturns.find() 工作正常。
因为我不想重写重调器并且我的程序需要访问不同的对象我需要像 "Object.Everything.nestedObject".
为了阐明我的意思,我附上了一段数据并将向您展示我想要访问的内容。
我已经尝试使用 $、$each 和 $[] - none 解决了我的问题。
"fun_args" : [ ],
"jid" : "20190423135733454092",
"return" : {
"cmd_|-sssd-ldap-cmd-pam-auth-update-bugfix_|-/usr/local/bin/bugfix-682662-sh_|-wait" : {
"comment" : "No changes detected",
"start_time" : "13:58:22.852410",
"result" : true,
"duration" : 0.016,
"__run_num__" : 26,
"__sls__" : "sssd-ldap.install",
"changes" : {
}
},
"pkg_|-salt-minion-required-packages_|-salt-minion-required-packages_|-installed" : {
"comment" : "All specified packages are already installed",
"name" : "python-concurrent.futures",
"start_time" : "13:58:18.915102",
"result" : true,
"duration" : 24.703,
"__run_num__" : 5,
"__sls__" : "salt-minion.install",
"changes" : {
},
"__id__" : "salt-minion-required-packages"
}
...
}
在我的脚本中,我想访问:
"full_ret.return.[all].comment"
我只需要一个位置运算符,它可以替换 [all]
占位符。
我搜索了很多论坛和文档,但找不到 mongoDB 查询的通配符。遗憾的是,这似乎是一个不会实现的功能。