我知道某些命令需要哈希映射/字典被排序,但实际上MongoDB中的BSON文档是否有影响,索引是否仍然有效? 例如: db.people.ensureIndex({LName:1, FName:1}); 这个方案适用于以下两种情况吗: {LName:"abc", FName:"def"}, {FName:"ghi", LName:"jkl"} ? Thanks
文档属性的顺序不会影响索引。 您可以通过运行以下查询来验证: db.people.find({LName: "abc"}).explain() 然后是这个查询: db.people.find({LName: "jkl"}).explain() 您应该看到MongoDB在两种情况下都会使用索引(cursor属性应该类似于"BtreeCursor LName_1_FName_1")。