为MongoDB创建索引的最佳方法

时间:2017-09-13 10:20:24

标签: mongodb indexing

我正在为客户提供存储在mongo-db集合中的记录以及具有以下格式的交易:

{ 
"_id" : ObjectId("59b6992a0b54c9c4a5434088"), 
"Results" : {
    "id" : "2139623696", 
    "member_joined_date" : ISODate("2010-07-07T00:00:00.000+0000"), 
    "account_activation_date" : ISODate("2010-07-07T00:00:00.000+0000"),  
    "family_name" : "XYZ", 
    "given_name" : "KOKI HOI", 
    "gender" : "Female",
    "dob" : ISODate("1967-07-20T00:00:00.000+0000"), 
    "preflanguage" : "en-GB", 
    "title" : "MR", 
    "contact_no" : "60193551626", 
    "email" : "abc123@xmail.com", 
    "street1" : "address line 1", 
    "street2" : "address line 2", 
    "street3" : "address line 3", 
    "zipcd" : "123456", 
    "city" : "xyz", 
    "countrycd" : "Malaysia", 
    "Transaction" : [
        {
            "txncd" : "411", 
            "txndate" : ISODate("2017-08-02 00:00:00.000000"), 
            "prcs_date" : ISODate("2017-08-02 00:00:00.000000"), 
            "txn_descp" : "Some MALL : SHOP & FLY FREE", 
            "merchant_id" : "6587867dsfd", 
            "orig_pts" : "0.00000", 
            "text" : "Some text"
        }
    ]
}

我想在字段“txn_descp”,“txndate”,“member_joined_date”,“gender”,“dob”上创建索引,以便更快地访问。有人可以帮我创建这个文档的索引吗?将会感谢任何帮助和建议。

1 个答案:

答案 0 :(得分:1)

在创建索引时,需要记住一些事项。

  • 始终为您使用的查询创建索引。
  • 尽可能使用复合索引。
  • 索引中的第一个字段应该是具有最小可能值的字段。即,如果有一个性别和DOB作为键的索引,最好有{gender:1,dob:1}