在MongoDB中过滤embedded式文档

我无法理解如何在MongoDB中过滤embedded式文档,并开始认为我应该使用关系关联,但在文档存储上下文中感觉不对。

坚持一个典型的博客/评论系统,我有一个blogs的集合,每个blog有很多comments 。 注释以embedded式文档的forms存储在博客文档中。

过滤我的blogs集合非常简单,但是为了过滤每个blogembedded的comments ,我不得不将它们全部加载到内存中(全部检索到一个Ruby数组),然后遍历每个评论,返回匹配一个具体的标准。

我使用点符号过滤embedded式文档的工作正在失败,并将所有子文档带回。

有没有更好的方式让MongoDB为我过滤这些东西,还是应该让我自己去关系关联? (从长远来看,所有embedded式文档的撤回和手动过滤将会过于密集)

One Solution collect form web for “在MongoDB中过滤embedded式文档”

目前没有办法按照您所描述的方式来过滤embedded式文档。 使用点符号可以匹配embedded式文档,但是整个文档,父文档和所有文档仍然会被返回。 也可以select哪些字段将被返回,但是这也不能真正帮助你的情况。

我们有一个“虚拟集合”的情况下,将实现所需的function; 随时投票:

http://jira.mongodb.org/browse/SERVER-142

同时,您应该把意见作为自己的collections。 一般来说,如果您需要自己处理给定的数据集,请将其作为集合。 如果把它作为其他设置的一部分,最好embedded。

  • 您使用NoSQL数据存储时遇到了哪些可伸缩性问题?
  • MongoDB:如何用一个命令更新多个文档?
  • 基于文档的数据库与关系数据库的优缺点
  • Voldemort和Cassandra相比如何?
  • Hive:在主表上执行增量更新的最佳方式
  • CouchDB和Couchbase之间的区别
  • MongoDB / NoSQL:保持文档更改历史
  • 删除neo4j 1.8中的所有节点和关系
  • 使用HBaseshell进行扫描
  • 有一个很好的Redis浏览器吗?
  • 何时应该使用NoSQL数据库而不是关系数据库? 可以在同一个网站上使用两者吗?