MongoDB不使用我的索引(数组、布尔值)
我收集了大量以下文件,例如:MongoDB不使用我的索引(数组、布尔值),mongodb,mongodb-indexes,Mongodb,Mongodb Indexes,我收集了大量以下文件,例如: { "_id" : ObjectId("2819738917238dgd21873"), "mailIntid" : 10000000,
{
"_id" : ObjectId("2819738917238dgd21873"),
"mailIntid" : 10000000,
"mailCreated" : "2019-02-08",
"mailLastModified" : null,
"mailReceived" : "2019-02-08",
"mailSend" : "2019-02-08",
"hadAttachment" : false,
"subject" : "nieuwe vacature ",
"bodyPreview" : "Test Body",
"importance" : "normal",
"isDeliveryRequested" : null,
"isReadReceiptRequested" : false,
"isRead" : false,
"isDraft" : false,
"inferenceClassification" : "focused",
"bodyContentType" : "html",
"senderName" : "Jobs",
"senderEmail" : "noreply@test.nl",
"fromName" : "Jobs",
"fromEmail" : "noreply@mailing.test.nl",
"flagStatus" : "notFlagged",
"urls" : "https://test.nl/request-details?id=1337",
"insertDate" : "2019-02-09",
"modifiedDate" : "2019-05-05",
"parseComplete" : true,
"rawMailUrl" : [
{
"url" : "https://test.nl/request-details?id=1337",
"parsed" : false
}
]
}
我使用以下代码创建了一个索引:
db.testAB.createIndex(
{"rawMailUrl.parsed": 1},
{partialFilterExpression: { "rawMailUrl.parsed": false}}
)
但每当我使用下面的查询时,它都不会使用上面的索引
db.testAB.find({"rawMailUrl.parsed": false})
有什么想法吗?使用数组和true或false表达式创建索引是否有问题?您为
部分过滤表达式定义了索引:{“rawMailUrl.parsed”:false}
,即索引中的所有记录都具有相同的值false
具有较少不同值的索引是错误的索引,它不会改善访问路径。因此没有使用索引,这只是浪费磁盘空间。您为
部分过滤表达式定义了一个索引:{“rawMailUrl.parsed”:false}
,即索引中的所有记录都具有相同的值false
具有较少不同值的索引是错误的索引,它不会改善访问路径。因此没有使用索引,这只是浪费磁盘空间。很抱歉,我认为我在解释示例文档时犯了一个小错误。我的文档的值为“rawMailUrl.parsed”:false和“rawMailUrl.parsed”:true。但是谢谢你的澄清。对不起,我认为我在解释示例文档时犯了一个小错误。我的文档的值为“rawMailUrl.parsed”:false和“rawMailUrl.parsed”:true。但谢谢你的澄清。