我的数据库中有一个存储应用程序的Collection:
{
_id: <ObjectId>, //MongoDB's default id
public_key: "abcde12345", //10 character string
private_key: "abcdefg1234567", //14 character string
name: "Cool App",
desc: "This is a cool app",
calls: 145
}
我需要使用public_key
和private_key
搜索应用程序,并且不想在我的架构中“盲目地”添加索引而不真正了解它们是否应该被编入索引。< / p>
有人可以建议哪些字段应该有索引吗?
答案 0 :(得分:0)
您索引的哪些部分完全取决于哪个查询查询最重要。这些通常是那些最常执行的。
当您的应用经常搜索public_key
和private_key
时,这些是适合编制索引的候选对象。当您始终搜索确切的值时,应将它们定义为散列索引。在大型集合中,它们比排序索引快得多,但除了按精确值搜索外,不允许任何其他内容。