我的公司项目使用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()函数,我不能支持多个字段的排序。
那么我怎样才能实现目标呢?
还有其他数据结构设计吗? 或者我可以为查找或聚合函数做任何选择吗?