0

在 MongoDB 中,我有一个如下所示的查询,以找出用户已经投票的评论:

db.comments.find({
    _id: { $in: [...some ids...] },
    votes.uid: "4fe1d64d85d4f4c00d000002"
});

正如文档所说,您应该拥有

每个查询一个索引

那么在 _id + votes.uid 上创建一个多键更好,还是仅仅在 votes.uid 上建立索引就足够了,因为 Mongo 会以任何方式自动处理 _id?

4

1 回答 1

0

_id上自动有一个索引。

根据您的查询(您在 $in 数组中有多少个 id)和您的数据(您对一个对象有多少票),您可以在 votes.uid 上创建一个索引。

注意在查询执行期间使用哪个索引,并记住您可以通过添加.hints(field:1)或强制 Mongo 使用您想要的索引hints('indexname')

于 2012-06-20T14:23:26.653 回答