1
我正在嘗試爲常用查詢創建複合索引。使用Mongo複合索引
有兩個字段。一個String類型的'client'字段,包含一個IP地址。另一個是類型爲Date的'sendOn'字段。我正在查找客戶端爲空且sendOn位於特定範圍之間的文檔。
支持上升的山頓字段排序中,我建立了我需要的1
所以值的山頓指標,我已經運行
> db.queries.ensureIndex({"client":1,"sendOn":1})
> db.queries.find({ $query: { client: { $exists: false } , sendOn: { $gt: new Date(1387664033883), $lt: new Date(1387750493883) } } }).explain()
{
"cursor" : "BasicCursor",
"nscanned" : 2546133,
"nscannedObjects" : 2546133,
"n" : 0,
"millis" : 25071,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {
}
}
文檔說$ exists查詢通常效率低下。我考慮過迫使文檔至少包含一個空的客戶端字段。但是那個查詢不使用索引呢?
感謝您的快捷方式。有熟悉的事情真好。 – EthernetCable