- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在第一个示例(http://docs.couchdb.org/en/1.6.1/couchapp/views/collation.html#views-collation)下的 CouchDB 官方文档的 View Collation 章节中,建议不建议在 View 中发出文档本身,而是建议包含请求 View 时的文档,通过使用 ?include_docs=true
请求 View 。
如果我理解正确的话,而不是:
emit(doc._id, doc);
并获得以下格式的结果:
{"id":"1","key":"1","value":{"_id": "1", "someProp": "someVal"}},
建议发送空值:
emit(doc._id, null)
然后在使用 include_docs 参数查询我的 View 时得到以下格式的结果:
{
"id": "1",
"key": "1",
"value": null,
"doc": {
"_id": "1",
"_rev": "1-0eee81fecb5aa4f51e285c621271ff02",
"someProp": "someVal"
}
如果有人建议,我认为它的性能会更好,但不幸的是,文档没有详细说明为什么和其他示例通常将文档作为 emit 中的值发出。谁能对此有更多的了解?
最佳答案
当您在 View 中发出
整个文档时,实际上是在磁盘上复制文档。这是因为每个 View 都有自己的文件,其中包含在数据库上运行 View 的结果。因此,如果您有 3 个输出文档的 View ,则有 4 个副本 float 。 (不算文档的多次修改,这当然会增加更多的重复)
CouchDB 非常自由地使用磁盘空间以使写入发生得更快,这主要是因为他们选择使用仅追加结构。因此,使用 View 重复输出相同的文档会导致磁盘使用量快速增长。 (压缩你的数据库和 View 通常会有帮助,但它不应该是你想要不断强制自己做的事情)
将文档排除在外的权衡是,当您从 View 中读取时,CouchDB 将需要在内部查找文档并将其包含在 View 的输出中。由于它是根据 id 查找内容,因此这是一个非常快速的操作,但它仍然会产生开销。因此,虽然这种模式通常是最佳实践,但您应该愿意在您的应用程序上下文中检查权衡。
关于couchdb - 为什么 CouchDB 文档建议不应在 View 中发出文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36210507/
我正在使用 MEAN 堆栈创建一个应用程序,该堆栈有大量表单数据条目,这些数据条目会从经过身份验证的用户和匿名用户保存到数据库中。 我应该在堆栈的哪个位置创建所有验证规则?它们应该在 AngularJ
当此时在 IOS 设备上收到通知时,应更改角标(Badge)并应在打开应用程序之前设置角标(Badge)。 我检查了这个 onNotificationOpen() 方法。但是,当我点击通知时,它会调用
我的主页-菜单-点“软件”如果你点击它应该保持打开状态! 查看我的 Test-Homepage ! 我已经测试过将“li:focus”和“li:active”添加到我的最低 CSS 标签,但没有任何效
加载页面时,应在 jquery mobile 的弹出窗口中打开一条消息。是否可以。我有以下代码,其中使用按钮,单击弹出窗口将打开,但我在加载页面后直接需要它而不单击任何内容。请有人帮助我,谢谢。
在 Azure AD B2C 预览版中,您可以定义应用程序。然后,每个应用程序都会被赋予一个名称、客户端 ID、应用程序 key 和一些设置,以定义是否包含 Web 应用程序/Web api 以及是否
我有一个巨大的 gl.pxd 文件,其中包含 gl.h、glu.h 和 glut 的所有定义。 h.例如它有这些行: cdef extern from '': ctypedef unsigne
最新版本的 Azure Functions 工具(版本 1.0.9)在启动时生成以下警告: ServicePointManager.DefaultConnectionLimit is set to t
我有一个 xml 文件(applicationCtx-security.xml),其中定义了所有 Spring Security 过滤器和自定义过滤器及其 bean。我需要实现一个自定义过滤器,该过滤
我和我的团队正在编写 REST API,但某些概念仍未完全理解。 在给定资源中:objective/{id}/goal目标是收集 如果消费者试图达到一个不存在的目标,API 将返回状态代码 404 ,
我刚开始学习 Angular。如果我使用 Firebase 进行用户授权,那么使用 Promise 会更好吗?或 Observable ? 如果我尝试通过 Facebook 登录时出现错误,我将如何更
应Content-Type REST API Web 请求中的 header 使用逗号进行格式化,如 RFC 1867 : Content-type: multipart/form-data, bou
我是 Unity 新手。 我有 Rigidbody2D,我想为我的播放器添加常量 velocity。我想知道在 Start 或 Update (或 FixedUpate ) 当我在开始时应用速度时一切
在我的网站上,我想使用 PayPal 发送的 IPN 来处理订单。 在实际发生之前,我想使用 PayPal 开发者网站 (https://developer.paypal.com/developer/
将 Excel 加载项提交到 Office 商店时。 list 文件中应引用哪个版本的 Excel API? 我们经历过因为没有引用最新版本的 Excel API 而被拒绝的经历。但是如果我们的 Ex
很早就提出了一个问题,但没有很好地布局我的代码,整个问题有点困惑,然后当我更改了代码但仍然遇到相同的问题时,问题仍然存在,但是我决定重新-用我的代码提出问题,代码布局更加整洁,这样您就可以看到重要的部
我正在使用它作为网络界面来控制我的c程序,现在我添加了闹钟时间,其中MySQL将获取闹钟时间,我将在我的c中使用它作为输入,而另一个我需要开关闹钟,所以需要下拉框,其中可以选择开关,但它应该在MySQ
csslint 警告回退背景(十六进制或 RGB)应该在 RGBA 背景之前。"evidence="background: rgba(0, 0, 0, 0.8);/* FF3+,Saf3+,Opera
我是一名优秀的程序员,十分优秀!