Mongodb 能否在Mongo中的单个字段上创建多个索引?那是什么样子的?
我正在尝试创建一个复合键作为我的“_id”字段,它接收一些地理信息以及其他属性。它看起来像:Mongodb 能否在Mongo中的单个字段上创建多个索引?那是什么样子的?,mongodb,mongodb-ruby,nosql,Mongodb,Mongodb Ruby,Nosql,我正在尝试创建一个复合键作为我的“_id”字段,它接收一些地理信息以及其他属性。它看起来像: {_id: {lat: 50, lon: 50, name: "some name"}} 创建文档后,默认情况下,mongo会指定一个索引,并忽略我的命令 db.coll.ensureIndex(_id: "2d") 有没有一种方法可以让我的_id字段索引既可以通过地理索引,也可以通过常规索引 这里有两个选项。它们都需要更改您的架构: 将\u id设置为唯一的散列,并将坐标放置在具有二维索引的单独字
{_id: {lat: 50, lon: 50, name: "some name"}}
创建文档后,默认情况下,mongo会指定一个索引,并忽略我的命令
db.coll.ensureIndex(_id: "2d")
有没有一种方法可以让我的_id字段索引既可以通过地理索引,也可以通过常规索引 这里有两个选项。它们都需要更改您的架构:
\u id
设置为唯一的散列,并将坐标放置在具有二维索引的单独字段中:
{u id:“标准ObjectId或您的hash”,name:“some name”,loc:[50,50]}从MongoDB文档中: 欢迎用户使用自己的约定创建ID;_id值可以是数组以外的任何类型,只要它是唯一的。不允许使用数组,因为它们是多键 您还必须确保它们也是唯一的。此外,这也会使一些假定您有BSON ID的事情变得混乱 我只需要自己为这些字段编制索引,并创建一个复合索引