当前位置:  开发笔记 > 编程语言 > 正文

在MongoDB中过滤嵌入的文档

如何解决《在MongoDB中过滤嵌入的文档》经验,为你挑选了1个好方法。

我无法掌握如何在MongoDB中过滤嵌入式文档,并开始认为我应该使用关系关联,但在文档存储上下文中感觉不对.

坚持使用典型的博客/评论系统,我有一个集合blogs,每个blog都有很多comments.注释作为嵌入文档存储在博客文档中.

过滤我的blogs集合非常简单,但是为了过滤我comments在每个集合中的嵌入blog,我必须将它们全部加载到内存中(将所有内容全部检索到Ruby数组中),并循环遍历每个注释,返回符合特定条件的注释.

我使用点表示法过滤嵌入式文档的努力失败了,并且还带回了所有子文档.

是否有更好的方法让MongoDB为我过滤这些,或者我应该让自己辞去关系联想?(从长远来看,拉回所有嵌入的文档并手动过滤将会过于密集)



1> Kyle Banker..:

目前无法按照您描述的方式过滤嵌入式文档.使用点表示法可以在嵌入的文档上进行匹配,但仍将返回整个文档,父文档和所有文档.也可以选择返回哪些字段,但这对你的情况也没有帮助.

我们有一个"虚拟集合"案例,它将实现所需的功能; 随意投票:

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

与此同时,您应该将评论视为自己的集合.通常,如果您需要自己使用给定的数据集,请将其设置为集合.如果将它作为其他一组的一部分更好地构思,那么嵌入它会更好.


对于这个非常需要的要求,"虚拟馆藏"不是很难理解吗?我只是好奇 - 是否能够仅返回一个未开发的特定嵌入式文档,因为它不需要或因为它很复杂?
idophir非常好的问题.我也想知道为什么Mongo没有实现它.
推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有