MongoDB查询索引

时间:2015-01-15 10:49:57

标签: mongodb

集合中的每个元素都具有以下格式:

{
   "Name": "Some Name",
   "Description": "Some description",
   "Tags": ["java", "code", "some tag"]
}

我在字段“Tags”上创建了索引,如下所示:

db.Establishments.ensureIndex({ Tags: 1 });

现在我想查询以查找以“ja”开头的所有标签(例如自动完成建议)。

有没有一种直接查询索引的方法,或者只涉及索引操作的高效查询,而不是查询集合?

1 个答案:

答案 0 :(得分:2)

我想您实际上想要查询标记属性并为自动完成功能返回不同的值,对吗?

使用不同的方法很容易:

db.Establishments.distinct( 'Tags' )

有关不同查询的详情,请参阅http://docs.mongodb.org/manual/reference/method/db.collection.distinct/

关于索引查询的问题:你不能直接询问索引 - 索引就是这样提供查询优化。在索引属性上使用distinct将很快。

要查询distinct方法,请执行:

db.Establishments.distinct( 'Tags', { 'Tags': /^ja/ } )