2017-01-09 92 views
1

我有一个应用程序,用一个文本索引来查询MongoDB数据库,该索引必须从多个集合中返回对象,就像同时查找人,标签或位置的Instagram查询一样。是否可以在MongoDB中创建多个集合索引(或搜索)?

我正在寻找一种方法来让这些集合正常分离,但为3个集合拥有单个MongoDB索引。

我一直在寻找这个,但所有我找到的是同一个集合内的多列索引和复合索引。

这是可以在MongoDB上完成的吗?没有制作另一个集合来存储所有对象,我的意思是...

如果不是,我可以使用类似索引查询多个集合,如全文索引和地理定位索引吗?

+1

是否有可能在MongoDB中创建多个集合索引? - > **否** – ares

+1

为什么要分开收集?如果用例是一起查询它们的? –

+0

@WanBachtiar他们是不同的对象。我想在Mongo上使用的“查询全部”对象功能与Lucene索引中常见的用例相同,您查询整个文本索引,然后发现它属于哪个集合... – ViniciusPires

回答

0

MongoDB不主要提供集合间通信以维持高可用性和扩展能力。 ($查找是一个例外)。

那么索引跨越不同的集合? NO,加入不同的收藏,NO(至少没有用于健康使用)。触发器?还没有)。交易?没有。

如果将mongoDB与RDBMS最佳实践结合使用,那将会很糟糕。学会反规范化。

+1

我想你有我错了。我所要求的与RDBMS最佳实践毫无关系......更像Lucene/Solr最佳实践(也适用于其他全文搜索引擎),我想索引来自不同对象的文本并查询它们,并且之后我可以区分它们是哪种类型...... – ViniciusPires