Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JSON/HTTP/REST接口查询MongoDB_Json_Mongodb_Rest_Datetime - Fatal编程技术网

使用JSON/HTTP/REST接口查询MongoDB

使用JSON/HTTP/REST接口查询MongoDB,json,mongodb,rest,datetime,Json,Mongodb,Rest,Datetime,我正在构建一个ASP.Net web应用程序,希望从MongoDB(远程托管)访问数据。我的任何文档都是这样的(已确保在Utc字段上建立索引) 考虑到用户端的性能,我希望以最大速度获取这些数据。我尝试过的一个选项是通过Page.aspx上的JSON调用本地Web服务,它使用MongoDB C#driver查询两个日期(Utc)之间的文档。这是可行的,但似乎使用web服务会在请求/响应周期中增加一些额外的毫秒(使用db.foo.findOne()对单个文档的请求平均只需1.3秒)。该集合中的文档平

我正在构建一个ASP.Net web应用程序,希望从MongoDB(远程托管)访问数据。我的任何文档都是这样的(已确保在Utc字段上建立索引)

考虑到用户端的性能,我希望以最大速度获取这些数据。我尝试过的一个选项是通过Page.aspx上的JSON调用本地Web服务,它使用MongoDB C#driver查询两个日期(Utc)之间的文档。这是可行的,但似乎使用web服务会在请求/响应周期中增加一些额外的毫秒(使用db.foo.findOne()对单个文档的请求平均只需1.3秒)。该集合中的文档平均数量为50000份,将增加到30000份

我的问题是:

  • 我说使用web服务会增加一些延迟,对吗 请求/响应周期(毫秒)?(因为MongoDB实际上 完成查询需要几毫秒)
  • 第二种选择是使用MongoDB。这样我就可以避免使用web服务,直接查询MongoDB。在这里 我需要你的意见,
    • 有没有一种方法可以使用HTTP/REST在两个日期之间查询MongoDB

    • 是否有方法使用'>'和'MongoDB的本机HTTP接口来查询MongoDB。你应该继续做你正在做的事情。此外,出于安全目的,您的MongoDB服务器不应公开,您应该始终像目前这样通过中间层。

      为什么不使用MongoDB的C#驱动程序并直接查询数据?正如我前面所说,目前我使用C#驱动程序并直接查询MongoDB,但是使用C#driver语句的代码是在一个web方法中编写的,该方法是从Page.aspx调用的。我需要知道您是否尝试过MongoDB的HTTP/REST接口,是否可以告诉我们性能结果,以便与C#driver进行比较。不过,我还是希望使用一些基于REST(令牌身份验证)的方法来查询MongoDB,比如CouchDB.10gen持有不同的观点。它决定为每种语言/框架构建特定的API,以使与MongoDB的集成感觉自然,而不是为“所有语言”构建单一的泛在客户端。也就是说,可以在其中一个驱动程序之上构建一个层来提供RESTful接口。例如,虽然我觉得它还没有准备好投入生产,但我已经在.NET驱动程序之上实现了一个OData提供程序。OData是一个RESTful协议。嗯,他们有专门的旋度API吗?请不要说“简单的RESTAPI”,因为它太不完整,而且有缺陷,无法计数。
      { 
         "_id" : { "$oid" : "509501393e8785025c10bc21" }, 
         "Index" : 1,
         "Url" : "http:...", 
         "CameraId" : 123,  
         "Utc" : { "$date" : 1351955858006 } 
      }