Mongodb 索引可选字段

jtm*_*mon 8 indexing mongodb

我的 mongodb 集合中有一些字段是搜索的可选部分。如果我不知道用户可能查询哪些字段,如何一致地索引该查询(即每个查询,无论参数如何都将使用索引)?

Gui*_*ssé 5

您可以使用稀疏索引

\n\n
\n

稀疏索引仅包含具有索引字段的文档的条目,即使索引字段包含空值也是如此。\n 索引会跳过任何缺少索引字段的文档。索引为 \xe2\x80\x9csparse\xe2\x80\x9d 因为它不包含集合的所有文档。相比之下,非稀疏索引包含集合中的所有文档,为那些不包含索引字段的文档存储空值。

\n
\n\n
db.addresses.createIndex( { "xmpp_id": 1 }, { sparse: true } )\n
Run Code Online (Sandbox Code Playgroud)\n