mongodb怎么能同时使用查询条件,索引,排序?

时间:2014-11-16 09:49:38

标签: mongodb sorting indexing find

我的公司项目使用mongodb作为数据库。 当前的数据结构如下所示:(对于表用户)

{
  username:xxx,
  password:xxx,
  firstname:xxx,
  lastname:xxx,
  age:xxx,
  created_at:xxx,
  updated_at:xxx
}

因为任何查询条件和排序条件(多个)都支持此数据。 你知道mongodb最初必须使用组合字段索引,但我不能为每个字段组合使用索引。

所以我尝试改变如下的数据结构:

{
  data:[{key:username,value:xxx},
        {key:password,value:xxx},
        ....],
  username:xxx,
  password:xxx,
  firstname:xxx,
  lastname:xxx,
  age:xxx,
  created_at:xxx,
  updated_at:xxx
}

如果我仍然使用db.collection.find()函数,我就不能使用sort。因为当data.key = username,sort data.value

时,我无法实现这一点

如果我使用db.coolection.aggregate()函数,我不能支持多个字段的排序。

那么我怎样才能实现目标呢?

还有其他数据结构设计吗? 或者我可以为查找或聚合函数做任何选择吗?

0 个答案:

没有答案