摘要
在mongo索引一文中有介绍过mongo数组索引,这边主要介绍在mongo3.2中遇到的一个将array字段作为一个联合索引的字段,然后进行非array字段的范围查询遇到的问题。
问题
post collection
{
"_id" : ObjectId("5972c7b0a98a215bd51b9f9a"),
"son" : [
1,
2
],
"age" : 1,
"name" : "stone",
"created" : ISODate("2017-07-23T03:42:20.201Z")
}
索引son_age:
{
son:1,age:1}
范围查询db.getCollection('post').find({son:1,age:{$gt:1,$lt:30}}).explain("executionStats")
"inputStage" : {
"stage" : "IXSCAN",
"nReturned" : 1,
"executionTimeMillisEstimate" : 0,
"works" : 2,
"advanced" : 1,
"needTime" : 0,
"needYield" : 0,
"saveState" : 0,
"restoreState" : 0,
"isEOF" : 1,
"invalidates" :