【发布时间】:2014-11-13 11:53:32
【问题描述】:
我是 mongodb 的新手,想为特定的集合创建索引。我见过人们在创建索引时在字段名称前使用数字“1”。例如:
db.users.ensureIndex({user_name: 1})
现在我想知道这个数字是什么意思,有必要用吗?
【问题讨论】:
我是 mongodb 的新手,想为特定的集合创建索引。我见过人们在创建索引时在字段名称前使用数字“1”。例如:
db.users.ensureIndex({user_name: 1})
现在我想知道这个数字是什么意思,有必要用吗?
【问题讨论】:
这是索引的类型。 MongoDB 支持不同类型的索引。但是,只有前两个索引可以组合成compound index。
1:升序二叉树索引。-1:降序二叉树索引。与默认索引非常相似,但 the difference can matter for the behavior of compound indexes。"hashed":A hashtable index。通过精确值查找非常快,尤其是在非常大的集合中。但不适用于不精确的查询($gt、$regex 或类似的)。"text":text index 设计用于使用自然语言搜索字符串中的单词。"2d":平面上的geospatial index
"2dsphere":一个球体上的geospatial index
如需更多信息,请参阅the documentation of index types。
【讨论】:
它定义了该特定字段的索引类型。例如,值 1 创建一个升序索引,而值 -1 创建一个降序索引。
有关详细信息,请参阅Manual
【讨论】:
"hashed"、"text"、"2d"和"2dshphere"。