我有一些简单的事务风格数据,如下所示:
{
'giver': 'Alexandra',
'receiver': 'Julie',
'amount': 20,
'year_given': 2015
}
任何'给予者'或'接收者'都可以有多个条目。
我主要是根据给予者字段查询这些数据,然后按年分割。所以,我想加快这些问题。
我是Mongo的新手,所以我不确定以下哪种方法是最好的做法:
1。将数据重组为以下格式:
{
'giver': 'Alexandra',
'transactions': {
'2015': [
{
'receiver': 'Julie',
'amount': 20
},
...
],
'2014': ...,
...
}
}
这让我对我最有意义。我们将所有交易放在一个人的子文档中,而不是在整个集合中进行交易。它以我最常查询的形式提供数据,因此通过'giver'然后'transactions.year'查询它应该很快
我不确定是否可以在mongo内部重构这样的数据,或者我是否应该通过某种编程语言将其导出并在mongo之外进行修改。
2。只需通过'给予者'索引
这与我查询这些数据的方式不完全匹配(通过“给予者”然后“年份”),但它可以足够快地完成我正在寻找的事情。在mongo中做起来很简单,并且不需要重组数据。
我应该如何调整数据库以加快查询速度?哪种方式是'蒙古方式'?