我正在一个Raspberry Pi项目上,该项目收集天气测量值并将其存储在Mongo数据库中,如下所示:
{
"_id": {
"$oid": "577975c874fece5775117209"
},
"timestamp": {
"$date": "2016-07-03T20:30:00.995Z"
},
"temp_f": 68.9,
"temp_c": 20.5,
"humidity": 50,
"pressure": 29.5
}
Run Code Online (Sandbox Code Playgroud)
数据正好进入Mongo数据库。接下来,我试图构建一个基于Flask的仪表板,使我能够查看记录的数据。在仪表板的其中一个页面上,我想显示当前记录的值,因此我需要做的是提取上一次测量并将其传递给flask模板以呈现到浏览器。
我在这里找到了可以使用的帖子:
data = db.measurements.find().limit(1).sort({"$natural": -1})
Run Code Online (Sandbox Code Playgroud)
但是自然调用似乎并不是有效的选择find。
这有效:
measurement = mongo.db.measurements.find_one()
Run Code Online (Sandbox Code Playgroud)
它拉回了一个随机测量值,然后我可以将其传递给烧瓶模板,但是如何使用sort获得最新的测量值?
我试过了:
measurement = mongo.db.measurements.find_one().sort([("timestamp", -1)])
Run Code Online (Sandbox Code Playgroud)
但这会产生属性错误: AttributeError: 'dict' object has no attribute 'sort'
我也尝试过:
cursor = mongo.db.measurements.find().limit(1).sort({"timestamp": -1})
Run Code Online (Sandbox Code Playgroud)
但这也不起作用。
我在这里缺少什么,有人可以给我快速,完整的解决方法吗?
我正在构建一个 nodejs 包,它从文件中读取 YAML 前面的内容。我使用 YAML 包获取 YAML,将其转换为 JSON 并对其进行更改。
现在我希望能够替换整个 frontmatter,但找不到正则表达式来执行此操作。
templateFile = templateFile.replace(SOME-REGEX-EXPRESSION, YAML.stringify(frontmatter)
Run Code Online (Sandbox Code Playgroud)
我可以在这里使用什么正则表达式来完成此任务?
我正在开发在 64 位 Windows 11 上运行的 Delphi 12 应用程序。我的应用程序需要从注册表中读取路径(用户路径和系统路径),并且我的应用程序可以读取用户路径,但不能读取系统路径。
我使用“工具”->“选项”->“清单”要求管理员权限才能执行该程序,当我运行该应用程序时,它会提示我授权管理员模式,所以我知道它的一部分正在工作。
我已经在互联网上搜索了好几天寻找解决方案,并且尝试了我能找到的所有选项(Embarcadero 的网站本周关闭,这使得所有这一切变得更加困难,因为我在那里找到了许多文章参考文档)并且每次,代码成功打开指定的键 ( SYSTEM\CurrentControlSet\Control\Session Manager\Environment),但无法读取其中的任何属性(如path属性)。
我什至尝试TStringList使用该键下的所有属性填充 a
我创建了一个示例应用程序来演示这一点,您可以在https://github.com/johnwargo/Path-Test-2024找到它。
procedure PopulateList(pathList: TListBox; source: String; rootKey: HKEY;
regKey, regProperty: String);
var
Reg: TRegistry;
pathArray: Tarray<String>;
msg, pathStr: String;
begin
LogMessage(Format('Reading "%s" Path from "%s"', [source, regKey]));
// Reg := TRegistry.Create(KEY_ALL_ACCESS);
// Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY);
// Reg := TRegistry.Create(KEY_EXECUTE);
// Reg := TRegistry.Create(KEY_EXECUTE OR KEY_WOW64_64KEY);
// Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_32KEY);
Reg := TRegistry.Create(KEY_READ …Run Code Online (Sandbox Code Playgroud)