我知道某些赞扬需要对hashmap/dictionary进行排序,但是MongoDB中的实际BSON文档是否重要且索引是否仍然有效?
例如
db.people.ensureIndex({LName:1, FName:1});
Run Code Online (Sandbox Code Playgroud)
它会同时适用于:
{LName:"abc", FName:"def"},
{FName:"ghi", LName:"jkl"}
Run Code Online (Sandbox Code Playgroud)
?
谢谢
文档属性的顺序不会影响索引。
您可以通过运行以下查询来亲自查看:
db.people.find({LName: "abc"}).explain()
Run Code Online (Sandbox Code Playgroud)
然后这个查询:
db.people.find({LName: "jkl"}).explain()
Run Code Online (Sandbox Code Playgroud)
您应该看到 MongoDB 在这两种情况下都会使用索引(cursor属性应该类似于"BtreeCursor LName_1_FName_1")。