2015-10-05 39 views
0

我有两个集合:Networks和UserNetworks。当ID在使用C#和MongoDB的另一个集合的文档中时,通过标识获取

在userNetworks集合中,我有一个userId作为Id字段和属于它的网络ID数组。

我想运行一个查询,它返回来自Networks集合的所有网络,其中networkId位于给定UserId的网络阵列中。

我真的想避免两个查询,一个是获取网络ID列表,另一个是获取网络本身。我找不到合适的答案。

回答

1

你在找什么叫做连接,而MongoDB不支持连接。您无法在单个查询中执行您想要的操作。

您可以通过每次浏览一个集合中的每个文档并查询第二个集合来执行“客户端连接”。或者,您可以将一个(或两个)集合加载到客户端,而不是往返。

+0

它没有加入,加入是从2个收藏中检索数据并显示它,我只是想给一个搜索源 –

+0

@OriRefael如果你显示或不显示它并不重要。加入是在一个查询中组合多个表(或集合)。 – i3arnon

+0

所以,只是要清楚。唯一的选择我有一个单一的用户ID是取其网络查询,然后在一个新的查询,我应该是所有网络networkId在第一个查询结果? –

相关问题