MongoDB Index on different types

2020-02-05 13:14发布

问题:

We can have { data: "hello" }, { data: 123 } in the same collection and even create a index on it. I'm curious how does mongodb manage the index behind the scene. We can't create single B-tree on different types. Right? However, I did getIndexes to see if another index is created but only one index is created.

回答1:

There's no problem having two types in the same index. Each key within the index includes the type.

When you query, only objects matching the type you query on will be returned.

So if you query for {data: "hello"}, only strings will be returned, etc.