如何在 MongoDB 或 Mongoid 中索引哈希字段?

Cof*_*ite 3 ruby-on-rails mongodb mongoid

我有以下蒙戈文档:

{
  _id: 'someid',
  name: 'John Doe',
  address: {
    city: 'Osaka',
    country: 'Japan'
  }
}
Run Code Online (Sandbox Code Playgroud)

如何按城市和国家建立索引?

mu *_*ort 5

来自MongoDB 文档

\n\n
\n

嵌入字段索引

\n\n

您可以为子文档中嵌入的字段创建索引,就像为文档中的顶级字段建立索引一样。[...] 相反,嵌入字段上的索引允许您使用 \xe2\x80\x9cdot 表示法,\xe2\x80\x9d 来内省子文档。

\n\n

[...]

\n\n
db.people.ensureIndex( { "address.zipcode": 1 } )\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

Mongoid 使用相同的点表示法

\n\n
\n

您也可以定义嵌入文档字段的索引。

\n\n
class Person\n  include Mongoid::Document\n  embeds_many :addresses\n  index "addresses.street"\nend\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

所以你想要这样的东西:

\n\n
class C\n  include Mongoid::Document\n  index \'address.city\'\n  index \'address.country\'\n  #...\nend\n
Run Code Online (Sandbox Code Playgroud)\n