mongodb索引用于查找空值
假设我有一个mongodb索引用于查找空值,mongodb,indexing,Mongodb,Indexing,假设我有一个电子邮件集合,其中包含如下字段和记录: { sendAt: "", to: "3432849342332@someone.com", from: "3432849342332@anotherone.com" } 如果我只需要查询为空的记录sendAt字段。考虑到这一要求,我应该如何索引此集合字段?实际上,我不需要在sendAt字段中查询任何特定日期,因此完整索引在我的视图中是多余的。是否可以使用mondogb?从MongoDb 3.2开始,您可以使用部分索引: 例如,在
电子邮件
集合,其中包含如下字段和记录:
{
sendAt: "",
to: "3432849342332@someone.com",
from: "3432849342332@anotherone.com"
}
如果我只需要查询为空的记录
sendAt
字段。考虑到这一要求,我应该如何索引此集合字段?实际上,我不需要在sendAt
字段中查询任何特定日期,因此完整索引在我的视图中是多余的。是否可以使用mondogb?从MongoDb 3.2开始,您可以使用部分索引:
例如,在您的情况下:
db.emails.createIndex(
{ sendAt: 1 },
{ partialFilterExpression: { sendAt: "" } }
)
另一种方法是在sendAt为空的文档中添加额外字段,并在该字段上创建稀疏索引:
从MongoDb 3.2开始,您可以使用部分索引: 例如,在您的情况下:
db.emails.createIndex(
{ sendAt: 1 },
{ partialFilterExpression: { sendAt: "" } }
)
另一种方法是在sendAt为空的文档中添加额外字段,并在该字段上创建稀疏索引: