我们正在玩 mongodb,但在查询时遇到了一些麻烦。
我们制作了一个 powershell 脚本,它从我们的服务器获取驱动器信息并将其保存在 mongodb 中。
我们的型号:
{
"_id" : ObjectId("514332334a62a9209c22c866"),
"FreeSpace" : NumberLong("9439911936"),
"Name" : "C",
"TotalSize" : NumberLong("128033222656"),
"Server" : "pcws24",
"Tidspunkt" : ISODate("2013-03-15T14:37:39.457Z")
}
编辑:我已将数据模型更改为此。它应该简化查询。
{
"_id" : ObjectId("514c2ee94a62a914e0bbe954"),
"Server" : "pcws24",
"Tidspunkt" : ISODate("2013-03-22T10:14:01.4Z"),
"Drev" : [{
"DriveLetter" : "C",
"VolumeLabel" : "",
"FreeSpace" : NumberLong("6715068416"),
"TotalSize" : NumberLong("128033222656")
}, {
"DriveLetter" : "D",
"VolumeLabel" : "Data",
"FreeSpace" : NumberLong("80200286208"),
"TotalSize" : NumberLong("159891058688")
}]
}
我们有以下用例场景。
- 获取每台服务器上每个驱动器的最新状态。
- 获取每台服务器上每个驱动器过去 24 小时的状态。
- 获取每台服务器上每个驱动器的上周状态。等等
该模型是从 Get-Drive cmdlet 创建的。
我们如何做到这一点?可以通过查询完成还是我们应该使用 map/reduce?