我對(duì) Mongo 有一個(gè)特殊的問(wèn)題。我們有一個(gè)具有以下結(jié)構(gòu)的 800k 文檔集合。{"_id" : ObjectId("5bd844199114bab3b2c19fab"),"u" : 0,"c" : 0,"iden" : "343754856","name" : "alan","email" : "mkasd@abc.com","mobile" : "987654321093456","expires" : ISODate("2018-11-29T11:44:25.453Z"),"created" : ISODate("2018-10-30T11:44:25.453Z")}我們已經(jīng)建立了索引iden,并且name我們通常會(huì)在其上進(jìn)行查詢。我們嘗試了兩種類型的查詢。db.Collection.find({"iden": "343754856", "name": "alan", "created":{"$gt": ....}).count()其中“created”是一個(gè)未索引的字段。db.Collection.find({"iden": "343754856", "name": "alan"})并遍歷所有記錄以根據(jù)created.然而,MongoDB 似乎在執(zhí)行第二個(gè)查詢時(shí)花費(fèi)了大量時(shí)間,而它應(yīng)該是對(duì) 1 的優(yōu)化。關(guān)于這里出了什么問(wèn)題的任何線索?我們正在使用 Go 庫(kù)。
MongoDB 查找和迭代 vs 計(jì)數(shù)
桃花長(zhǎng)相依
2023-05-15 10:13:37