MongoDb确保ObjectId上的索引

MongoDb确保ObjectId上的索引,mongodb,Mongodb,对一个始终具有ObjectId值的字段执行ensureIndex是否值得 基本上我们有一个用户集合和“东西”集合。stuff中的某个对象(单行)始终与集合中的某个用户相关。因此,我们将该用户的ObjectId存储在该对象的一个字段中 { 'thingTitle': 'Title', 'owner': ObjectId(fromUserCollection) } 在大多数情况下,用户将始终具有多个对象。是否值得为其设置一个ensureIndex?ensureIndex如何处理Obje

对一个始终具有ObjectId值的字段执行ensureIndex是否值得

基本上我们有一个用户集合和“东西”集合。stuff中的某个对象(单行)始终与集合中的某个用户相关。因此,我们将该用户的ObjectId存储在该对象的一个字段中

{
   'thingTitle': 'Title',
   'owner': ObjectId(fromUserCollection)
}

在大多数情况下,用户将始终具有多个对象。是否值得为其设置一个ensureIndex?ensureIndex如何处理ObjectId?

是的,确保thing集合上的索引将对应用程序的查找性能产生良好影响:)

如果您在该字段上进行查询,例如
db.thing\u collection.find({user:userObjectId})
您将需要该字段的索引。

取决于查询,但根据字段类型猜测,我会说是。索引将只存储ObjectId的12字节存储表示形式,就像它与唯一的_id索引一样,它是我们的搜索选项之一,因此它将经常被点击。我想我的误解(因为没有更好的词)是可以确保索引对ObjectId有用。但是从这些评论来看,似乎是这样。
ObjectId
s在索引需求方面不是特殊的数据类型,如果这是您的意思的话。与任何其他数据类型一样,如果您想跳过长表扫描并直接访问所需的数据集,则需要对它们进行索引。是的,这就是我要寻找的。谢谢你的帮助!