Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb索引用于查找空值_Mongodb_Indexing - Fatal编程技术网

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为空的文档中添加额外字段,并在该字段上创建稀疏索引: