如何根据MongoDB中Array的特定位置进行排序?

时间:2015-11-09 10:01:28

标签: mongodb database-administration

我的用例是:

我有一群想要搬到某些城市的人:

People {
  cities: ['London', 'Denver', 'Tokyo']
}

城市的秩序告诉我他们最喜欢哪个城市。上述人士最喜欢在伦敦。

我有一个房东可以出租房屋。这个人来自一个城市,比如说London

我手头有这个房东,我想查询人民集合并按照他们更喜欢landLord的城市的方式取回所有人。所以对于这个房东来说,最喜欢伦敦的人应该首先出现,然后是所有喜欢伦敦第二好的人,等等。

对于其他房东,比如来自Denver的房东,排序会改变,以便给最喜欢Denver的人。

任何方式在Mongo本身都这样做?

1 个答案:

答案 0 :(得分:0)

就您现在设置数据库的方式而言,我认为您可以做的最好的事情是根据数组中的第1项进行查询。因此,房东会将他的位置(本例中为伦敦)传递给此方法调用。

// As an example
db.people.find({ "cities.0" : "London" })