MongoDB文档中的ETag工具-Java驱动程序
我的Java应用程序具有访问MongoDB集合的REST GET API(使用JAX-RS实现)。 我试图引入web缓存以减少响应时间(通过减少MongoDB端的文档读取) 我正在寻找为资源提供ETag()的标准方法(资源来自MongoDB集合中的文档),这样每当文档更新时,MongoDB集合中的ETag都会自动更新 现在,我可以用MongoDB文档中的ETag验证HTTP请求中的ETag(“如果不匹配”),如果两者相同,则返回304(未修改)。现在,WebCache可以将已经缓存的资源返回到客户端,从而提高响应时间 在谷歌搜索时,我有以下两种选择:MongoDB文档中的ETag工具-Java驱动程序,mongodb,Mongodb,我的Java应用程序具有访问MongoDB集合的REST GET API(使用JAX-RS实现)。 我试图引入web缓存以减少响应时间(通过减少MongoDB端的文档读取) 我正在寻找为资源提供ETag()的标准方法(资源来自MongoDB集合中的文档),这样每当文档更新时,MongoDB集合中的ETag都会自动更新 现在,我可以用MongoDB文档中的ETag验证HTTP请求中的ETag(“如果不匹配”),如果两者相同,则返回304(未修改)。现在,WebCache可以将已经缓存的资源返回到客
请建议在MongoDB中提供ETag的最标准方法。在将对象持久化到MongoDB中之前,我正在进行哈希代码计算,并将其存储在字段
ETag
中
收到请求时,我可以查找{“\u id”:请求的\u id,“etag”:{$ne:RECEIVED\u etag}
如果没有返回任何文档,您可能仍然需要确定文档{“\u id”:REQUESTED\u id}
是否存在(我有,但在您的情况下,WebCache可能会处理此问题并返回404,否则返回304)
如果它确实返回文档,只需使用其
etag
属性填写etag
标题,并可能将其从返回的正文中删除。如何缓存查询?一个查询可以返回多个文档。