我正在构建一个 ASP.Net Web 应用程序并希望从 MongoDB(远程托管)访问数据。我的任何文件都看起来像这样(已确保 Utc 字段的索引);
{
"_id" : { "$oid" : "509501393e8785025c10bc21" },
"Index" : 1,
"Url" : "http:...",
"CameraId" : 123,
"Utc" : { "$date" : 1351955858006 }
}
考虑到用户端的性能,我想以最大速度获取这些数据。我尝试过的一个选项是通过 Page.aspx 上的 JSON 调用本地 Web 服务,它使用 MongoDB C# 驱动程序来查询两个日期(Utc)之间的文档。这可行,但似乎使用 Web 服务会在请求/响应周期中增加一些额外的毫秒数(使用 db.foo.findOne() 对单个文档的请求平均在 1.3 秒内提供服务)。该集合中的平均文档数为 50,000,将增加到 30,00,000。
我的问题是:
- 我是否正确地说使用 Web 服务会在请求/响应周期中增加一些延迟(毫秒)?(因为 MongoDB 实际上需要几毫秒才能完成查询)
- 第二种选择是使用 MongoDB 的HTTP/REST 接口。这样我可能会避免使用 Web 服务并直接查询 MongoDB。在这里我需要你的意见,
- 有没有办法使用 HTTP/REST 在两个日期之间查询 MongoDB?
- 有没有办法使用 HTTP/REST 使用 '>' 和 '<' 条件查询 MongoDB?
- 从安全的角度来看,直接在 Page.aspx 上访问 DB 看起来如何?
- 上述模式的任何其他查询替代或优化?
我的相关问题在这里。
问候。